解决乱码问题原则:
oracle server端与OS的字符集一致
oracle server端与oracle client的字符集一致

解决方案 »

  1. 现在的要求是,如何在不动server端的配置,仅仅在client怎么配置?
      

  2. 你服务器的字符集是WE8ISO8859P1,中文怎么可能正确保存进去?怎么调整客户端都是没有用的。
      

  3. 修改客户端字符集,修改步骤打开注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0下的NLS_LANG,更改为服务器端的字符集
      

  4. to  developer2002(开发者2002) 
    但是,我的NLS_NCHAR_CHARACTERSET 是 AL16UTF16 啊,为什么我的NVARCHAR2类型的字段也是乱码?这个好象没有理由吧。
      

  5. select userenv('language') from dual;
    更改注册表中HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0下的NLS_LANG的值应该就可以了吧!
      

  6. to  qick(Smile To All) 
    select userenv('language') from dual;
    ----- 
    返回结果是AMERICAN_AMERICA.WE8ISO8859P1,因为是自己设置了一个环境变量NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1更改注册表中HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0下的NLS_LANG的值应该就可以了吧!
    -----
    改成什么呢?
      

  7. 更改注册表中HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0下的NLS_LANG的值为AMERICAN_AMERICA.WE8ISO8859P1
      

  8. utf8解决方案
    http://blog.csdn.net/marvinhong/archive/2005/09/29/492218.aspx
      

aliyun

类似问题 »