MySQL数据库like查询中文出现不准确的解决方法
2014-08-01 15:45
323 查看
MySQL数据库like查询中文出现不准确的解决方法
2013-02-18 1,502阅 评论( 暂无评论 )
更多0
Mysql数据库like查询中文出现不准确的解决方法,中文检索有时候有点蛋疼,Mysql数据库like查询中文有时候会出现不准确。而且,在进行like检索时,有时候会返回一些与查询词不相关的记录,如查找 “%s%” 时,返回的结果中可能有中文字符,却没有s字符存在,这与数据库中文编码规则有关。
如希望查找title中含有字母s的所有新闻:
返回的结果中有一些包含s,而有些则只有中文,很郁闷(也很邪恶,嘿嘿)。
测试了下,发现一种解决方法,就是使用 BINARY(是CAST(str AS BINARY)简短写法) 强制转换进行检索
这样结果就比较准确了,但还有一个问题,就是字母区分大小写,检索的时候依然不正确,只好再转化一下了:
如此,临时解决办法搞定,不过速度会变慢,希望以后的mysql版本能解决掉此问题
2013-02-18 1,502阅 评论( 暂无评论 )
更多0
Mysql数据库like查询中文出现不准确的解决方法,中文检索有时候有点蛋疼,Mysql数据库like查询中文有时候会出现不准确。而且,在进行like检索时,有时候会返回一些与查询词不相关的记录,如查找 “%s%” 时,返回的结果中可能有中文字符,却没有s字符存在,这与数据库中文编码规则有关。
如希望查找title中含有字母s的所有新闻:
select * from test.news where title like '%s%'
返回的结果中有一些包含s,而有些则只有中文,很郁闷(也很邪恶,嘿嘿)。
测试了下,发现一种解决方法,就是使用 BINARY(是CAST(str AS BINARY)简短写法) 强制转换进行检索
select * from test.news where binary title like '%s%'
这样结果就比较准确了,但还有一个问题,就是字母区分大小写,检索的时候依然不正确,只好再转化一下了:
select * from test.news where binary ucase(title) like '%s%'
如此,临时解决办法搞定,不过速度会变慢,希望以后的mysql版本能解决掉此问题
相关文章推荐
- MySQL使用like查询中文不准确的解决方法
- Mysql数据库like模糊查询中文字段不准确的临时解决办法
- MySQL数据库 查询表数据出现中文乱码 及 插入中文报错Incorrect string value问题解决方法
- Mysql数据库like模糊查询中文字段不准确的临时解决办法
- Python MySQLdb 查询中文出现问号的解决方法
- MySQL查询时区分大小写的方法,查询字母出现中文的解决方法
- eclipse插入数据到MySQL数据库时,出现中文乱码问题的解决方法
- Ubuntu下mysql数据库插入中文出现乱码的解决方法
- c#操作MySQL数据库中文出现乱码(很多问号)的解决方法
- c#操作MySQL数据库中文出现乱码(很多问号)的解决方法
- 解决DOS下查询mysql数据库中文乱码方法
- Wine里的中文程序出现方块字的解决方法以及Wine快捷方式的命令格式
- 关于htmlparsr在显示繁体中文时出现乱码的原因分析和解决方法
- [转]中文VS2008中安装ASP.NET MVC框架出现问题的解决方法
- php mssql 日期出现中文字符的解决方法
- 升级tomcat后出现的页面录入框中文乱码问题解决方法
- 解决AJAX中文出现乱码的方法
- Querystring中传递中文出现乱码,丢失的解决方法
- 执行SQL语句时出现问题操作必须使用一个可更新的查询错误的解决方法
- [转]中文VS2008中安装ASP.NET MVC框架出现问题的解决方法