今天在sqlplus測試時遇到了中文亂碼的問題,說到亂碼的問題最先想到的就是字符集不一致的問題。
問題描述:登陸時因為密碼輸入錯誤引起錯誤,但是顯示結果是亂碼。
2.上網查看相關資料之后,需要設置NLS_LANG,使其與oracle服務器端的字符集保持一致。
[oracle@mycentos ~]$ echo $NLS_LANG
AMERICAN_AMERICA.ZHS16GBK
SQL> col parameter for a30
SQL> col value for a30
SQL> select * from nls_database_parameters where parameter in('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET');
PARAMETER VALUE
------------------------------ ------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CHARACTERSET AL32UTF8
拼接NLS_LANGUAGE、NLS_TERRITORY 、NLS_CHARACTERSET三個參數對應的value值就是需要設定的NLS_LANG的值,即
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
NLS_LANG與目標值不匹配,所以需要重新輸出NLS_LANG的值,即
[oracle@mycentos ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
重新輸入上述報錯的操作,正常顯示中文報錯信息。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。