IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置: 首頁數(shù)據(jù)庫Oracle → 關(guān)于Oracle客戶端顯示亂碼問題

關(guān)于Oracle客戶端顯示亂碼問題

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)

  看下面演示與分析:

  SQL> select * from nls_database_parameters;

  PARAMETER??? VALUE

  ------------------------------ ------------------------------

  NLS_LANGUAGE AMERICAN

  NLS_TERRITORY????? AMERICA

  NLS_CURRENCY $

  NLS_ISO_CURRENCY?? AMERICA

  NLS_NUMERIC_CHARACTERS?? .,

  NLS_CHARACTERSET?? AL32UTF8

  NLS_CALENDAR GREGORIAN

  NLS_DATE_FORMAT??? DD-MON-RR

  NLS_DATE_LANGUAGE? AMERICAN

  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_COMP???? BINARY

  NLS_LENGTH_SEMANTICS???? BYTE

  NLS_NCHAR_CONV_EXCP????? FALSE

  NLS_NCHAR_CHARACTERSET?? AL16UTF16

  NLS_RDBMS_VERSION? 9.2.0.4.0

  20 rows selected.

  windows客戶機上:

  H:\Users\LuoTaoyang>chcp

  活動代碼頁: 936

  H:\Users\LuoTaoyang>set NLS_LANG=American_America.ZHS16GBK

  SQL> DESC chartest;

  Name? Null???? Type

  ----------------------------------------- -------- ----------------------------

  ID NUMBER(38)

  NAME???? VARCHAR2(20)

  SQL> insert into chartest values(1,'123你好嗎ABC');

  1 row created.

  SQL> SELECT * from chartest;

  ID NAME

  ---------- ----------------------------------------

  1 123你好嗎ABC

  SQL> select id,dump(name,1016) from chartest;

  ID

  ----------

  DUMP(NAME,1016)

  --------------------------------------------------------------------------------

  1

  Typ=1 Len=15 CharacterSet=AL32UTF8: 31,32,33,e4,bd,a0,e5,a5,bd,e5,90,97,41,42,43

  #‘123你好嗎ABC’在ZHS16GBK字符集下16進制代碼為:31 32 33 C4 E3 BA C3 C2 F0 41 42 43,之所以跟Oracle存儲的不同時因為客戶端字符集(ZHS16GBK)與Oracle主字符集(AL32UTF8)不同,Oracle在底層發(fā)生字符集轉(zhuǎn)換的原因。

  H:\Users\LuoTaoyang>set NLS_LANG=American_America.AL32UTF8

  SQL> select * from chartest;

  ID NAME

  ---------- --------------------

  1 123浣犲ソ鍚桝BC

  #出現(xiàn)亂碼是因為此時Oracle客戶端字符集與Oracle主字符集相同,Oracle不發(fā)生字符集轉(zhuǎn)換。但在windows下依然用字符集(ZHS16GBK)顯示。

關(guān)鍵詞標簽:Oracle客戶端顯示亂碼

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法