問題:
row_input 輸入中文會變成亂碼
問題描述:
筆者的環境為Windows 10
日前從微軟的Git下載LUIS Python2 範例
TEXT = raw_input(u'Please input the text to predict:\n')
CLIENT = LUISClient(APPID, APPKEY, True)
res = CLIENT.predict(TEXT)
while res.get_dialog() is not None and not res.get_dialog().is_finished():
TEXT = raw_input(u'%s\n'%res.get_dialog().get_prompt())
res = CLIENT.reply(TEXT, res)
process_res(res)
except Exception, exc:
print(exc)
並進行中文輸入, 會得到下列錯誤
解法:
1.Python 2 的row_input吃進來文字的編碼是根據作業系統, 我的win 10是繁體中文版,便是Big5
2. 將raw_input先解big5, 再轉為utf8
TEXT = raw_input(u'Please input the text to predict:\n').decode(‘big5’).encode(‘utf8’)
後續:
1. pyhton 3因為全部UTF8編碼, 因此無此問題
沒有留言:
張貼留言