Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1849871
  • 博文数量: 354
  • 博客积分: 11021
  • 博客等级: 上将
  • 技术积分: 4048
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-24 10:04
文章存档

2020年(1)

2018年(1)

2016年(1)

2015年(2)

2014年(4)

2013年(4)

2012年(12)

2011年(14)

2010年(37)

2009年(34)

2008年(22)

2007年(68)

2006年(102)

2005年(29)

2004年(21)

分类: LINUX

2006-11-05 10:50:12

Compiere 数据库乱码的解决

场景描述:如果操作系统默认语种是英文(如英文版 Windows Server 2003, Enterprise Edition)的情形下安装了 Oracle 10g,可能导致 Oracle 安装后的数据库在 Compiere 应用程序中正确显示和保存中文,但 SQL Plus 或 PL/SQL Developer 等第三方应用程序连接到数据库中会看到乱码。

原因分析:此问题的原因是 Oracle Home 的 NLS_LANG 语言设置为 AMERICAN_AMERICA.AL32UTF8,从而使得 SQL*Net 使用了不匹配的字符集所致。换言之,数据库服务器引擎没有问题。

解决方法:修改注册表 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1 下的 NLS_LANG 键值为操作系统当前默认语言即可(以简体中文为例:SIMPLIFIED CHINESE_CHINA.ZHS16GBK)。重新登录 SQL Plus 或 PL/SQL Developer 等第三方应用程序(无需重启数据库实例),即可显示和保存正确的中文字符。

其它说明:如果操作系统默认语种是与当前默认语言相同的最初情形下安装了 Oracle 10g,那么 Compiere 应用程序中的中文字符与 SQL Plus 或 PL/SQL Developer 等第三方应用程序连接到数据库中看到的中文字符均正确,不存在上述问题。Compiere 应用程序并不受此问题的干扰,可以完全正常使用。
阅读(770) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~