ORACLE字符集设置问题

问题描述

查询oracle数据时,中文字符出现问号形式的数据;sql使用like和等号无法匹配中文字符
环境:win7 32位;oracle 11g

错误分析

安装oracle 11g 时,受默认字符集影响;
查看oracle(NLS_LANG):

  1. WIN+R,然后在输入regedit–>回车;
  2. 最后通过该路径HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
    发现NLS_LANG当时默认值AMERICAN_AMERICA.WE8MSWIN1252

解决中文字符出现问号

需要了解自己查询的数据库编码格式,当时只是能猜测数据库用到的字符集格式;分别试过AMERICAN_AMERICA.ZHS16GBKAMERICAN_AMERICA.UTF8都不管用,最后发现设置成SIMPLIFIED CHINESE_CHINA.AL32UTF8值,成功解决问题!

注意

每次设置一个NLS_LANG的新值,都要重新启动PLSQl客户端。

后续发现问题

查询sql出现中文字符无法匹配问题

解决中文字符无法匹配问题

  1. 配置如图:
    在这里插入图片描述
  2. 查询NLS_LANG字符集:
select userenv('language') from dual;
  1. 设置高级系统设置–>环境变量–>系统变量:
    新建:NLS_LANG = 第二步查询到的值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值