storm_zhu

导航

 

问题1,出现NLS_LANG和字符集(Character set)问题 

安装完PL/SQL后打开,遇到如图问题。

原因:这是因为系统没有设置NLS_LANG系统变量。
解决方法:有两种方式查看。
1. 查看电脑属性
2. 命令行查看。
        PS:这里我已经设置过了,所以仅仅是作个示意。
 
问题2, 如果遇到如下图中的问题,说明客户端字符集与Oracle数据库的字符集不同。
        查看数据库的字符集的方法:
 
      Select * from V$NLS_PARAMETERS where PARAMETER='NLS_CHARACTERSET';  

      Select USERENV('LANGUAGE') from DUAL;  

       将NLS_LANG的值改为所查到的SIMPLIFIED CHINESE_CHINA.UTF8即可。

问题3

可以通过以下方法解决:
1. 查询数据库服务端的字符集
   select * from nls_database_parameters  可以分别查出字符集各组成部分的值
或者用 select userenv('language') from dual  可以整体查出
也可以用  select * from nls_instance_parameters 查看你客户端的字符集
 
客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。
如果不一致,就得修改客户端的字符集,修改为同server端相同的字符集。
2. 修改客户端字符集
   修改注册表
 
   打开注册表,‘开始’-‘运行’ 输入‘regedit’-确定。

   找到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1的NLS_LANG 键,
   修改为数据库服务器的字符集值,比如:SIMPLIFIED CHINESE_CHINA.AL32UTF8
   重新打开plsql ,登录
3. 如上述步骤后依然报错,再看看环境变量中NLS_LANG的值
   Oracle数据库字符集和客户端字符集不同的解决办法  
   如和数据库不一致,进行修改即可。

 

/**************************************************************************************************************************/

PS:我们简介一下字符集的含义。以SIMPLIFIED CHINESE_CHINA.UTF8为例。
  • SIMPLIFIED CHINESE为语言(简体中文);
  • CHINA为国家(中国);
  • UTF8为字符编码;
posted on 2017-12-12 14:32  storm_zhu  阅读(221)  评论(0)    收藏  举报