热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

关于字符集的测试报告_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不支持汉字?

推荐阅读
author-avatar
醉情YJY_414
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有