适用于本地客户端(PLSQL Developer )访问远程数据库时,查询结果出现的乱码,当在远程数据库上查询结果时显示正常。
1.查询远程数据库的编码:
select userenv('language') from dual;
若查询结果为:
userenv('language') |
AMERICAN_AMERICA.AL32UTF8 |
或是SIMPLIFIED CHINESE_CHINA.ZHS16GBK |
2.复制编码内容,在数据库服务器上执行如下代码(注意/home/运行oracle数据库的账户/.bash_profile):
vim /home/oracle/.bash_profile
3.添加红色背景内容(注意“NLS_LANG”后为数据库字符编码):
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH ORACLE_SID=dwdb; export ORACLE_SID ORACLE_UNQNAME=zjswkjhs; export ORACLE_UNQNAME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME ORACLE_TERM=xterm; export ORACLE_TERM NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT PATH=${PATH}:$HOME/bin:$ORACLE_HOME/bin export PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
4.客户端本地新建环境变量:
重启服务器,及PLSQL Developer客户端即可。