oracle 乱码问题

pirateRocy 2005-11-09 08:53:19
数据库是oracle9i,库的设置如下:
select * from V$NLS_PARAMETERS
------------------------------------
NLS_CHARACTERSET WE8ISO8859P1
......
NLS_NCHAR_CHARACTERSET AL16UTF16

客户端是oracle9i的客户端
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEO 的NLS_LANG 设置是SIMPLIFIED CHINESE_CHINA.ZHS16GBK

但是,不能正确保存中文,连数据库的错误信息也都是一个个??号

请问,如何解决?
...全文
1920 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
洪十二 2005-11-10
  • 打赏
  • 举报
回复
utf8解决方案
http://blog.csdn.net/marvinhong/archive/2005/09/29/492218.aspx
ronet8 2005-11-10
  • 打赏
  • 举报
回复
更改注册表中HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0下的NLS_LANG的值为AMERICAN_AMERICA.WE8ISO8859P1
haifeng1012 2005-11-10
  • 打赏
  • 举报
回复
学习`````````
pirateRocy 2005-11-10
  • 打赏
  • 举报
回复
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的值应该就可以了吧!
-----
改成什么呢?
qick 2005-11-09
  • 打赏
  • 举报
回复
select userenv('language') from dual;
更改注册表中HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0下的NLS_LANG的值应该就可以了吧!
pirateRocy 2005-11-09
  • 打赏
  • 举报
回复
to developer2002(开发者2002)
但是,我的NLS_NCHAR_CHARACTERSET 是 AL16UTF16 啊,为什么我的NVARCHAR2类型的字段也是乱码?这个好象没有理由吧。
pirateRocy 2005-11-09
  • 打赏
  • 举报
回复
现在的要求是,如何在不动server端的配置,仅仅在client怎么配置?
rolandzhang 2005-11-09
  • 打赏
  • 举报
回复
解决乱码问题原则:
oracle server端与OS的字符集一致
oracle server端与oracle client的字符集一致

suncarry 2005-11-09
  • 打赏
  • 举报
回复
修改客户端字符集,修改步骤打开注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0下的NLS_LANG,更改为服务器端的字符集
developer2002 2005-11-09
  • 打赏
  • 举报
回复
你服务器的字符集是WE8ISO8859P1,中文怎么可能正确保存进去?怎么调整客户端都是没有用的。
pirateRocy 2005-11-09
  • 打赏
  • 举报
回复
up

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧