簡體   English   中英

Python 3.5:導出漢字

[英]Python 3.5: Exporting Chinese Characters

我已經嘗試過幾次將中文從列表變量導出到csv或txt文件中,發現存在問題。

具體來說,在讀取數據並將其寫入文件時,我已經將編碼設置為utf-8或utf-16。 但是,我注意到當Window 7的基本語言為英語時,即使將語言設置更改為中文,也無法做到這一點。 當我在Windows 7下以中文為基本語言運行Python程序時,可以成功導出並完美顯示中文。

我想知道為什么會發生這種情況,當在基於英文的Window下運行Python程序時,有什么解決方案可以幫助我在導出的文件中顯示中文字符嗎?

我剛剛發現您需要做兩件事才能實現這一目標:

  1. 將窗口的顯示語言更改為中文。
  2. 在編寫過程中使用UTF-16編碼。

這是美國Windows 10,運行名為PythonWin的Python IDE。 中文沒有問題。

在此處輸入圖片說明

這是Windows控制台中運行的相同程序。 請注意,控制台的美國代碼頁默認值為cp437 cp65001是UTF-8。 切換到支持中文文本的編碼是關鍵。 下面的文本是直接從控制台剪切並粘貼的。 當字符顯示正確粘貼到Stack Overflow時,控制台字體不支持中文,而是實際顯示 在此處輸入圖片說明

C:\>chcp
Active code page: 437

C:\>x
Traceback (most recent call last):
  File "C:\\x.py", line 5, in <module>
    print(f.read())
  File "C:\Python33\lib\encodings\cp437.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-5: character maps to <undefined>

C:\>chcp 65001
Active code page: 65001

C:\>type test.txt
我是美國人。
C:\>x
我是美國人。

記事本也正確顯示輸出文件:

在此處輸入圖片說明

請使用支持UTF-8的IDE,或將輸出寫入文件並使用記事本之類的工具讀取該文件。

使Windows控制台實際輸出中文的方法是win-unicode-console程序包,並將“語言和區域”設置,“管理”選項卡,系統區域設置更改為中文。 對於后者,Windows將保持英語,但是Windows控制台將使用中文代碼頁而不是英語。

暫無
暫無

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

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