现象:
导入数据包括中文,导入后,用PL/SQL DEV查看,发现数据中的中文是乱码。
分析:
数据导入时,客户端会读取NLS_LANG变量,获取客户端字符集,然后根据NLS_LANG的设置,对数据进行编码后,存入数据库。
从数据库读取数据时,根据数据库中的语言设置,对数据进行解码后显示。
我的问题在于 客户端与服务器端 的语言设置不一致。
客户端字符集设置:NLS_LANG=AMERIACAN_AMERICAN.ZHS16GBK
服务器端字符集设置:SQL>select userenv(‘language’) from dual;
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
两者不一致,导致乱码
解决办法:
在/etc/profile中加入
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
参考资料:
阅读(1330) | 评论(0) | 转发(0) |