用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1721|回复: 4
收起左侧

[HELP] ms sql server 数据库查询中文内容返回不正确结果集

[复制链接]
发表于 2015-5-18 10:25:39 | 显示全部楼层 |阅读模式
大家好!
           请教一下!
           我在查询数据库的某表时 value 值为中文,返回结果集不是正确的,但value值为数字或英文时返回结果集正确。
          表字段:id   name  spc
          sql语句:select * from material where name like '$q ' or spc like '$q '
         
          我想是不是字符编码的问题?上网找了一下可以 mb_convert_encoding或iconv ,我的php版本是 5.5.15只支持mb_convert_encoding也做了把input   内容由utf-8转成gbk 但还是查询返回集不正确。后来发现php5.6以后的版本不支持mb_convert_encoding或iconv。
         现在只有把网页的字符编码改成"gbk" <meta charset="gb2312">(v_view是视图面)同时也把ci里的database.php中的'char_set' => 'gb2312'但结果还是错误.
         
         现问题不知如何解决,ci中有无解决的方式?
         



发表于 2015-5-18 10:54:01 | 显示全部楼层
先确定各部分都用了什么编码  然后想办法统一

建议以后统一改用utf8
mysql更新到5.6或者更新版本用utf8mb4的
现在用户开始喜欢用emoji表情,不用utf8mb4的话插入直接乱码
 楼主| 发表于 2015-5-18 14:15:22 | 显示全部楼层
一叶扁舟 发表于 2015-5-18 10:54
先确定各部分都用了什么编码  然后想办法统一

建议以后统一改用utf8

那 ms sql server 2012 中文是什么编码? 如果是gb2312,那我该如何设置呢?
发表于 2015-5-18 14:43:40 | 显示全部楼层
zshyes 发表于 2015-5-18 14:15
那 ms sql server 2012 中文是什么编码? 如果是gb2312,那我该如何设置呢?

统一改utf8吧,兼容性好……  数据库也不差那点存储……
 楼主| 发表于 2015-5-29 09:39:30 | 显示全部楼层
一叶扁舟 发表于 2015-5-18 14:43
统一改utf8吧,兼容性好……  数据库也不差那点存储……


找到问题在那了 是调用存储过程的问题
如数据库查询是调用存储过程并且使用"like" 中文内容 就会出问题。
但如果是直接在php里编写sql语提交就没有问题,可以正确查找。


本版积分规则