今天在測試一個python程式以cx_oracle模組連線Oracle DB時,select一個中文的資料,結果是出現亂碼「???」。
資料庫的語系是:AMERICAN_AMERICA.ZHT16BIG5
原本想利用select convert(DATA,'utf8') from TABLE來轉換,結果還是失敗了。
最後修改客戶端的語系後,就可以成功顯示中文了。在python的程式中加入:
import os
os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.AL32UTF8'
要注意的是不是設定跟資料庫一樣,而是要設定客戶端的語系
記錄一下,以免以後又忘了。