引言
数据库作为业界领先的数据库产品,近年来在国内大中型企业中得到了广泛的应
用。虽然 数据库产品本身在本地化方面已做得相当成熟,但还是有不少用户反应
汉字显示乱码的问题。如对同一数据库不同的用户对同一表中的 查询却得出了
不同的结果: “和“ 中国有限公司”,显然结果中将中文字符显示
为乱码,那么为什么呢?字符集的设置不当是影响 数据库汉字显示的关键问题。
关于字符集
字符集是 为适应不同语言文字显示而设定的。用于汉字显示的字符集主要有
、、 和 !- 等。字符集同时存在于服务器
端和客户端。服务器端字符集是在安装 时指定的,字符集登记信息存储在
数据库字典的 "#$%&' 表中;而客户端字符集是在系统注册表
(($)( 系统)或在用户的环境变量($* 系统)中设定的。
字符集的构成与设定
字符集的构成与设定方式分为客户端与服务器端两种:
+,客户端字符集的构成与设定。客户端的字符集是由当前用户的环境变量 $%$ 设
定的。环境变量 $%$ 的构成:
$%-./0
其中,
122指定服务器消息的语言
03045指定服务器的日期和数字格式
./0指定字符集
三个成分可以任意组合,例如:
'$%'-
'&!)$%$-
'$%'-
客户端字符集的设定方法针对不同操作系统设定方法稍有不同:($)( 系统是在注册
表项:6%%'$7! (77'7$%$ 中设定;
+,服务端字符集的构成与设定。服务端字符集的构成体现在数据字典表
"#$%&' 的
$%$、$% 6、$% 三项取值上,其中
$% 的取值就是具体的数据库字符集。如利用查询语句 89
:!'"#$%&' ;
可得到如下结果:
&' "
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$%$'&!)$
$% 6$
==