首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

解決 Oracle 亂碼問題:NLS_LANG 環境變數正確設定指南

     編輯:Oracle 資料庫基礎

現象

使用 SQL*Plus 連線 Oracle 時顯示 ???? 亂碼,主因是伺服器端與用戶端字元集設定不一致。

日文環境範例

  • 伺服器字元集:JA16SJIS
  • 用戶端未設定 → 亂碼

設定 NLS_LANG 環境變數

Shell指令
csh/tcshsetenv NLS_LANG American_Japan.JA16SJIS
bash/sh/kshexport NLS_LANG=American_Japan.JA16SJIS

中文字元集請參考東亞語言列表對應修改(如 ZHT16BIG5、ZHS16GBK、AL32UTF8 等)。

Oracle 10g 額外設定

Shell指令
cshsetenv ORA_NLS10 $ORACLE_HOME/nls/data
bashexport ORA_NLS10=$ORACLE_HOME/nls/data

Oracle 9i 額外設定

Shell指令
cshsetenv ORA_NLS33 $ORACLE_HOME/ocommon/nls/data
bashexport ORA_NLS33=$ORACLE_HOME/ocommon/nls/data

核心原則

用戶端 NLS_LANG 的「字元集」部分必須與伺服器端資料庫字元集(或兼容超集)一致,「語言_地區」部分依作業系統語系設定即可。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved