首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

徹底解決 Oracle 亂碼問題:NLS_LANG 環境變數完整設定指南

     編輯:Oracle 資料庫相關知識

使用 SQL*Plus 連線 Oracle 時出現「????」亂碼,主因是伺服器端與客戶端字元集設定不一致。例如日文環境下,伺服器為 JA16SJIS,客戶端未設定即會產生亂碼。

核心解決方案:設定 NLS_LANG

將客戶端環境變數 NLS_LANG 設為與伺服器一致的語言、地區與字元集組合。

C Shell (csh/tcsh)

setenv NLS_LANG American_Japan.JA16SJIS

Bourne Again Shell (bash/sh/ksh)

export NLS_LANG=American_Japan.JA16SJIS

中文字元集代碼請參考東亞語言列表(如 ZHT16BIG5、ZHS16GBK 等)。

Oracle 10g/9i 相容性參數

若仍有問題,需額外設定 NLS 資料路徑:

Oracle 10g

# csh
setenv ORA_NLS10 $ORACLE_HOME/nls/data
# bash
export ORA_NLS10=$ORACLE_HOME/nls/data

Oracle 9i

# csh
setenv ORA_NLS33 $ORACLE_HOME/ocommon/nls/data
# bash
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/data

設定完成後重新啟動客戶端工具即可正常顯示中文、日文等多語系資料。

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