- 论坛徽章:
- 0
|
请教:
我一台应用服务器--HP-UX B.11.23 U , .profile配置文件环境变量设置 LANG=zh_CN.hp15CN;
oracle数据库配置:oracle 10g R2 , NLS_CHARACTERSET = ZHS16GBK ,NLS_LANGUAGE AMERICAN ;
问题如下:
将带有生僻字(比如‘喆’)的文件上传到该环境下用vi或more命令查看时生僻字都是乱码,但用tail命令查看可以正常显示生僻字;
然后将生僻字写入数据库中,直接用sqlplus登陆后select 出来也能正常显示生僻字。
然后我将环境变量LANG改为zh_CN.gb18030后,重新登陆系统用vi和more就能正常显示该生僻字了。
我不明白的是,当环境变量设置为zh_CN.hp15CN时说明当前系统环境的编码是GB2312,此字符集中不包括生僻字;
我认为只要是超出GB2312字符集的生僻字在当前环境(zh_CN.hp15CN)中不管什么都应该显示为乱码,但为什么用tail和从数据库中查询出来能正常显示。
我不明白操作系统的字符编码到底是由什么决定的,它和数据库中的字符编码有什么关系?
请哪里大虾赐教!!:zhuan: |
|