错误现象:
在windows下用其他工具访问oracle,确认中文正常显示。在Linux下使用sqlplus查询数据表中文内容出现乱码。
分析及解决:
因为windows下正常,所以问题应出现在Linux客户端。用下列sql查询数据库字符集为“ZHS16GBK”:
- SELECT * FROM nls_database_parameters t
- WHERE t.parameter = 'NLS_CHARACTERSET';
设置环境变量NLS_LANG,问题解决。
- export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
其他:
export LANG="zh_CN.GB18030" 可解决Linux显示中文文件名的问题。
rpm -aq | grep fonts-chinese 用于查看Linux是否安装中文字体。