ITPub博客

首页 > 数据库 > Oracle > oracle数据库里中文显示不出来,全是问号???

oracle数据库里中文显示不出来,全是问号???

Oracle 作者:1013497067 时间:2017-02-08 10:26:24 0 删除 编辑

一:问题描述

有时,想用AS重新定义新的中文字段名称,或者在查询包含中文的字段时,查询结果总是出现很多问号,如图:

二:出错原因

环境变量NLS_LANG和数据库服务端字符集不一致

[html] view plain copy
  1. SQL> select userenv('language') from dual;  
  2.   
  3.    
  4.   
  5. USERENV('LANGUAGE')  
  6.   
  7. ----------------------------------------------------  
  8.   
  9. AMERICAN_AMERICA.WE8ISO8859P1  
  10.   
  11. [oracle@source_pc ~]$ echo $NLS_LANG  
  12.   
  13.   
  14. --显示结果为空  


 

三:解决办法

修改环境变量NLS_LANG

[html] view plain copy
  1. [oracle@source_pc ~]$  export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1  
  2.   
  3. --这样只是针对该窗口,临时生效,对于其他会话不生效。  
  4.   
  5. 要想永久生效,可以写入.bash_profile文件。  
  6.   
  7. [oracle@source_pc ~]$ pwd  
  8.   
  9. /home/oracle  
  10.   
  11. [oracle@source_pc ~]$ vi .bash_profile   
  12.   
  13. 添加一行:export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  
  14.   
  15. [oracle@source_pc ~]$ source .bash_profile  


现在,查询不出现问号了。

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

请登录后发表评论 登录
全部评论

注册时间:2015-12-03

  • 博文量
    33
  • 访问量
    101176