[Çözüldü] Python Türkçe karakter sorunu

Başlatan fghty, 23 Temmuz 2012 - 21:54:28

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

fghty

import httplib, urllib, string
def translate(IN, OUT, text):
    text = urllib.quote(text)
    conn = httplib.HTTPConnection("translate.google.com")
    conn.request("GET", "/translate_a/t?client=t&text="+text+"&hl="+IN+"&tl="+OUT)
    res = conn.getresponse().read()
    res = res[4:string.find(res,",\"\",\"\"]]")]
    res = string.split(res, "],[")
    for i in range(len(res)):
        if i >= 1: res[i] = res[i][1:string.index(res[i], "\",\"")]
        else:      res[i] = res[i][:string.index(res[i], "\",\"")]
    return "".join(res)

print translate("en", "tr", "this really works!")


Bu kodun çıktısında Türkçe karakterler düzgün görünmüyor. Bu sorunu nasıl çözebilirim?

hitokiri

    text = "".join(res)
    return unicode(text,"ISO-8859-9")

fghty

Hocam Türkçe karakter için utf-8 kullanılmıyor muydu? Ama utf-8 yazınca hata veriyor. Bunun nedenini biliyor musunuz?

hitokiri

utf-8 için geçersiz byte olduğunu söylüyordu hata,
bu konuyla ilgili bağlantıdaki açıklamalar bilgi verecektir.
http://www.istihza.com/py2/unicode.html
Bizde bu sorunu aşmak için muhtemel kodlama seçeneklerinden birini deneyerek sorunu aştık,
mesele şöyle bir şey yapmış olsaydık, sonuç çok daha farklı olabilirdi XD
return unicode(txt,"utf-16 ")
畂朠牥旧瑫湥污﻽秽牯℠

fghty

Anladım hocam bilgi için çok sağol. :)