程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 關於字符集的測試報告

關於字符集的測試報告

編輯:關於MYSQL數據庫

nls_lang用於設置客戶端的字符集。影響sqlplus界面的語言。

regedit:
hkey_local_Machine\software\Oracle\home0
nls_lang鍵值
1、取值為‘US7ASCII'或為空
2、取值為‘simplifIEd chinese_china.ZHS16GBK'

nls_characterset用於設置數據庫內部字符集,決定數據記錄保存的格式。
1、取值為‘US7ASCII'或為空
2、取值為‘ZHS16GBK'

測試:環境(已有一表為test_char.內含有漢字)
1>客戶端,服務器端的字符集為ZHS16GBK:
.能正確顯示test_char.
.能正確建立含有漢字記錄的表。
.將xIEjia.test_char導入到模式test中
已導出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

2>客戶端為ZHS16GBK, 服務端的內部字符集為US7ASCII
.無法正常顯示test_char
.在建立含有漢字記錄的表後,無法正常顯示該內容
.在執行export過程中。
已導出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服務器使用 US7ASCII 字符集 (可能的字符集轉換)

3>客戶端為US7ASCII,服務端的內部字符集為US7ASII
.能正常顯示test_char
.在建立含有漢字記錄的表後,不能正常顯示該內容
.在執行export過程中
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
在執行import過程後,無法正常顯示導入內容

4>客戶端為ZHS16GBK,服務端的內部字符集為US7ASCII
.不能正常顯示test_char
.在建立含有漢字記錄的表後,不能正常顯示該內容
.在執行export過程中
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses ZHS16GBK character set (possible charset conversion)

總結:
客戶端的設置uls_lang可決定地導出字符集。

在Oracle9i數據庫,客戶端字符集必須與數據庫核心字符集類型一致,否則漢字出現亂碼

相關表:
v$nls_parameters
nls_database_parameters
props$

保留問題:

如果在客戶端與服務端字符集同為US7ASCII,建立含漢字字符的表無法正常顯示記錄?會不會是因US7ASCII不支持漢字?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved