簡體   English   中英

轉換為utf-8 python

[英]Converting to utf-8 python

我正在使用Ubuntu和python 3.4從Wikipedia的api下載數據。 我正在保存名稱,並且看到不同語言的字符沒有正確保存。

例如:日の火曜日另存為æ¥ã®ç«ææ¥。

我想我可能不會將其保存在utf-8中,所以我將代碼更改為

fd = io.open("filename",'w',encoding='utf8')
fd.write(str(name.encode('utf-8'), 'utf-8'))

但是我仍然得到相同的結果。

我正在使用的api 在這里

到目前為止,我了解到utf-8應該能夠處理所有語言的文本。 另外,Ubuntu中的控制台默認情況下具有utf-8,如果我運行more命令,它應該正確打印出字符串。

檢查響應代碼,從響應中獲取字符集,然后使用它進行解碼。 您可以使用name.decode('utf-8')str(name, 'utf-8')進行解碼。

resp = urlopen(url)
if resp.code == 200:
    with open('filename', 'w') as fd:
        fd.write(str(name, resp.info().get_content_charset()))
        #or fd.write(name.decode(resp.info().get_content_charset()))

問題是我的ssh客戶端,它顯示的字符串不正確。 代碼工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM