據現場, http://www.dba-oracle.com/t_nls_lang.htm選擇NLS_LANG爲Oracle
問題。我無法理解這是如何可能的。從網站引用 :
例如,假設數據庫字符集是AL32UTF8,該 客戶端是一個英文Windows操作系統,並在客戶端NLS_LANG 設置爲AL32UTF8。 進入數據庫的數據是 編碼在WE8MSWIN1252中,並且未被轉換爲AL32UTF8數據 ,因爲客戶端上的NLS_LANG設置與數據庫 字符集匹配。因此,Oracle假定不需要轉換, 和無效數據輸入到數據庫中。
當客戶端編碼爲AL32UTF8時,數據如何作爲WE8MSIN1252進入數據庫?
如果我正確理解,數據傳輸應該是這樣的:客戶端 - >服務器(Oracle託管)操作系統 - > Oracle(DB)。你是否暗示這一點?我以前認爲數據直接來自客戶端 - > Oracle(DB),因此會產生混淆。 – digdug 2011-12-28 15:04:12
很高興知道!謝謝你的提示! – fge 2011-12-28 15:13:45
不,數據流是:客戶端軟件(使用OS編碼) - > oracle客戶端驅動程序(使用NLS_LANG) - > oracle數據庫服務器(使用NLS_LANG) – werewindle 2011-12-28 15:51:33