plsql中文字符不能匹配
2016-01-26 21:54
253 查看
今天遇到一个比较奇葩的问题,在查询的时候用到了条件,但是数据库中这个字段存的是中文。在进行条件匹配的时候死活匹配不上,哪怕将匹配的内容从数据库拷贝出来。搞了半天实在不知道什么原因,于是将该字段的内容改为非中文,立马就匹配上了。于是肯定是字符问题。 好了,原因找到了。那么接下来就是解决字符问题了。 首先看看目前的字符编码:查询select userenv('language') from dual, 查询结果为AMERICAN_AMERICA.AL32UTF8。ok,看到这里大概就知道了,最后的结尾时utf所以数据库里能存中文,不会乱码。但是看前面american,问题就在这里。我们实际使用的是SIMPLIFIED CHINESE_CHINA.AL32UTF8。两种字符集进行匹配当然不会成功了。 ok,到这里原因已经彻底清楚了。接下来就是解决这个具体的问题了。上网搜索了一下,解决方法是:首先,修改注册表windows:注册表->oracle->.....->NLS_LANG为AMERICAN_AMERICA.ZHS16GBK,改为SIMPLIFIED CHINESE_CHINA.AL32UTF8。然后重启一下plsql看看能不能正常匹配,如果不能那么再进行下一步配置:添加系统环境变量,在系统环境变量里新建一个NLS_LANG,值为:SIMPLIFIED CHINESE_CHINA.AL32UTF8。重启plsql。 到这里,我的问题已经完美解决了!如果你有更好的解决方法,欢迎交流!
相关文章推荐
- 关于Redis持久化
- 甲骨文武国平解读:孔孟之道
- Mybatis/Ibatis,数据库操作的返回值
- wamp2.5 连接 mssql2012
- sqlserver安全加固
- sqlserver2008链接服务器的使用和oracle11g客户端修改字符集
- sqlite数据库的安装与使用
- JDBC向oracle插入数据
- mysql数据库的安装与使用
- redis的数据类型
- oracle to_date
- Redis的学习与使用
- 数据库设计之三大范式
- redis的简单安装配置
- 存储过程实现基本的增删查改
- MySQL慢查询配置,及解决相关问题
- spring整合redis客户端及缓存接口设计(转)
- erlang驱动使用mysql-otp
- jsp页面提交中文到MySql数据库乱码
- jsp链接mysql数据库