[英]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.