ITPub博客

首页 > 数据库 > Oracle > 关于中文显示乱码的问题

关于中文显示乱码的问题

原创 Oracle 作者:守望567 时间:2016-01-05 10:34:43 0 删除 编辑
很多人都会遇到中文显示字符集的问题,很是闹心
oracle字符集涉及三方面 

1.oracel server端的字符集; 
2.是oracle client端的字符集; 
3.是dmp文件的字符集。 
 
1、查询oracle server端的字符集
select userenv(‘language’) from dual; 
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_CHINA.ZHS16GBK

2、客户端
在windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在dos窗口里面自己设置,比如:   set nls_lang=AMERICAN_AMERICA.ZHS16GBK 这样就只影响这个窗口里面的环境变量。 

在unix平台下,就是环境变量NLS_LANG。 
vim /home/oracle/.bash_porfile
添加
export NLS_LANG="AMERICAN_CHINA.ZHS16GBK"
$echo $NLS_LANG 
AMERICAN_AMERICA.ZHS16GBK 
如果检查的结果发现server端与client端字符集不一致,统一修改为同server端相同的字符集。 

3、查看导出的dmp字符格式
SQL> select nls_charset_name(to_number('0354','xxxx')) from dual; 
                 ZHS16GBK 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26909803/viewspace-1971617/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 关于ORA-30009错误
请登录后发表评论 登录
全部评论

注册时间:2012-04-23

  • 博文量
    19
  • 访问量
    46705