sqlplus 汉字乱码问题的解决
?
從數(shù)據(jù)庫(kù)中導(dǎo)一個(gè)數(shù)據(jù)的時(shí)候出現(xiàn)了一個(gè)很奇怪的問(wèn)題,中文亂碼。 首先可以確認(rèn)的一點(diǎn),數(shù)據(jù)在數(shù)據(jù)庫(kù)中是以中文存在的,還有就是用Toad進(jìn)行連接查詢的時(shí)候也是中文。 但是在服務(wù)器端直接用sqlplus 連接查詢之后,所有中文都顯示為亂碼。 第一反應(yīng)是字符集的問(wèn)題,也嘗試用修改字符集來(lái)解決問(wèn)題,最終問(wèn)題還是出在系統(tǒng)的環(huán)境變量上。 ?
?
關(guān)于數(shù)據(jù)庫(kù)字符集的問(wèn)題,參考我的blog:
?
Oracle 字符集的查看和修改
http://blog.csdn.net/tianlesoftware/archive/2009/12/02/4915223.aspx
?
?
解決方法:
?
1. export 參數(shù)
?$ export NLS_LANG="simplified chinese_china.zhs16gbk"
?
2. 修改配置單數(shù)
修改.bash_profile 中的參數(shù),添加相關(guān)信息
NLS_LANG="simplified chinese_china.zhs16gbk";
?Export NLS_LANG;
?
以上是在Linux平臺(tái),windows 平臺(tái)用
C:> NLS_LANG="simplified chinese_china.zhs16gbk"
或者添加一個(gè)環(huán)境變量就可以了。
?
?
3. 補(bǔ)充一點(diǎn)知識(shí):
?
Nls_lang 是Linux 系統(tǒng)的環(huán)境變量;
Nls_language 是數(shù)據(jù)庫(kù)的參數(shù)。
我們可以在session中修改Nls_language,不能修改Nls_lang。
?
示例:
SQL> ALTER SESSION SET NLS_LANGUAGE= 'SIMPLIFIED CHINESE'
SQL> alter session set nls_lang=American_America.ZHS16GBK;
alter session set nls_lang=American_America.ZHS16GBK
*
ERROR at line 1:
ORA-00922: missing or invalid option
?
?
Oracle 的相關(guān)參數(shù)我們可以通過(guò)以下SQL語(yǔ)句查看:
?
SQL> col PARAMETER format a30
SQL> col VALUE format a30
SQL> select * from v$NLS_PARAMETERS;
?
PARAMETER????????????????????? VALUE
------------------------------ ------------------------------
NLS_LANGUAGE?????????????????? SIMPLIFIED CHINESE
NLS_TERRITORY????????????????? CHINA
NLS_CURRENCY?????????????????? ¥
NLS_ISO_CURRENCY?????????????? CHINA
NLS_NUMERIC_CHARACTERS???????? .,
NLS_CALENDAR?????????????????? GREGORIAN
NLS_DATE_FORMAT??????????????? YYYY-MM-DD HH24:MI:SS
NLS_DATE_LANGUAGE????????????? AMERICAN
NLS_CHARACTERSET? ?????????????ZHS16GBK
NLS_SORT?????????????????????? BINARY
NLS_TIME_FORMAT??????????????? HH.MI.SSXFF AM
?
PARAMETER????????????????????? VALUE
------------------------------ ------------------------------
NLS_TIMESTAMP_FORMAT?????????? DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT???????????? HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT??????? DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY????????????? ¥
NLS_NCHAR_CHARACTERSET???????? AL16UTF16
NLS_COMP?????????????????????? BINARY
NLS_LENGTH_SEMANTICS??????? ???BYTE
NLS_NCHAR_CONV_EXCP??????????? FALSE
?
已選擇19行。
?
SQL>
?
轉(zhuǎn)載于:https://www.cnblogs.com/Hiberniane/archive/2010/01/22/2488746.html
總結(jié)
以上是生活随笔為你收集整理的sqlplus 汉字乱码问题的解决的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 腹式肠道操 缩胃瘦身有奇效 - 健康程序
- 下一篇: 破解某英语学习系统