2014-06-30 23 views
0

我有我需要在Python中編輯的必須保留在Shift-JIS中的csv文件。通過在Python解釋器中輸入每個部分來測試我的代碼時,這些文件可以很好地編輯並保留在Shift-JIS中。我在運行Python解釋器下面幾行:Python - 在DOS中的ShiftJIS錯誤

import sys, codecs 
reload(sys) 
sys.setdefaultencoding('shift_jis') 

我把這幾行腳本,並在DOS提示符下,當然還有移位JIS字符我添加搞的一團糟運行它們。如果我在DOS提示符下運行chcp,它會告訴我正在運行chcp 932,shift-JIS。有人知道什麼不起作用嗎?

回答

1

如果有人需要知道,這是補救措施:

在這種情況下,由於Python是使用Unicode,當我需要按住Shift JIS。對我來說有效的是指定行來使用unicode,然後在Shift-JIS中對它們進行編碼,然後將它們寫入文件。這每次都有效。

例如:

name = u"テスト " 
newstring = name + other_string_data 
newstring = newstring.encode('shift_jis') 

然後,字符串將得到編碼成移位JIS和寫入。這不是最優雅的方式,但我希望這有助於某人,我花了大約2個小時才弄明白。