首先,检查DB中字符集,可以通过以下的SQL来查得,
SELECT * FROM v$nls_parameters或者
SELECT USERENV ('language') FROM DUAL比如查询结果:
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
那么字符集就是:ZHS16GBK;
然后设置客户端的本地字符集:
注册表:
默认情况坦让袜下,windows上的Oracle安装使用注册表来定义这个设置。
版本 10g 及以上:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_<滑橡oracle_home_name>
这里您会看到一个条目名为NLS_LANG
在64位windows平台上安装32位软件,让激会使用32位兼容性路径
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_<oracle_home_name>
或者环境变量:'我的电脑' ->'属性' >'高级' ->'环境变量'
增加一个:nls_lang = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
重启一下机器就可以了。
java插入中文到oracle变问号:先确定,接口参数缺码传到后端再到接口逻辑层中间是否有被转义?排查下来并没有,且sql执行也显示文,如下是sql执行过伏败哪程:
第二步:排查一下,数据库数据保存情况,是否中枯禅午变问号了
oracle配局弯仿置闹春的问桐纤题客户端都配置了变量NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
WINDOWS注册表也要改:
http://blog.csdn.net/dream19881003/article/details/6800056
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)