Oracle数据库客户端输入生僻中文字保存后乱码解决方案
1、问题描述
EAS客户端录入生僻中文字在保存后显示为了?,如䓬显示成了?如下图所示。
2、解决方案
oracle客户端字符集设置需要和服务器端一致,否则会出现乱码问题。
首先连接服务器,查询服务器端设置(可以在查询分析执行方言):
select * from v$nls_parameters;
找到:
NLS_LANGUAGE
NLS_TERRITORY
NLS_CHARACTERSET
环境变量nls_lang便是由这三部分组成
NLS_LANG = language_territory.charset
比如:
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZH16GBK
如果使用GBK编码有些生僻字会显示乱码,也就是需要修改SIMPLIFIED CHINESE_CHINA.ZH16GBK编码为SIMPLIFIED CHINESE_CHINA.AL32UTF8
3、操作步骤
一般是数据库安装在windows操作系统上会有这样的问题可以进行如下操作。
一、先修改注册表和环境变量:
1.> 开始——>运行——>输入regedit——>enter进入注册表
2.> HKEY_LOCAL_MACHINE—>SOFTWARE —> ORACLE—>KEY_OraDb11g_home1(不同版本的Oracle显示的都不太一样,但都 会包含home这个单词)
3.> 找到“NLS_LANG”,查看数值数据是否为:“SIMPLIFIED CHINESE_CHINA.AL32UTF8”,如果不是就将它设置为 SIMPLIFIED CHINESE_CHINA.AL32UTF8
二、针对注册表中没有Oracle项解决办法: 计算机——>属性——>高级系统设置——>环境变量——>新建NLS_LANG 将其值设置为:SIMPLIFIED CHINESE_CHINA.AL32UTF8
三、重启操作系统。
4、注意
需要重启系统才生效,只重启数据库环境变量不生效。
Oracle数据库客户端输入生僻中文字保存后乱码解决方案
本文2024-09-22 20:21:35发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-113122.html