数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
关于字符集的测试报告

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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




相关文章

相关软件