关于字符集的测试报告

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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不支持汉字?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航