最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

mysql中文查询时的字符集匹配问题解决方法

来源:懂视网 责编:小采 时间:2020-11-09 13:54:01
文档

mysql中文查询时的字符集匹配问题解决方法

mysql中文查询时的字符集匹配问题解决方法:我在写一个查询条件时的问题如下: 如我想写一个字段中包含李字的所有记录 $str=李; select * from table where field like ''%$str%'' ; 显示的记录中除了包含李字的记录,还有不包含李字的记录。为什么 在MySQL中,进行中文排序和查找的时候,对
推荐度:
导读mysql中文查询时的字符集匹配问题解决方法:我在写一个查询条件时的问题如下: 如我想写一个字段中包含李字的所有记录 $str=李; select * from table where field like ''%$str%'' ; 显示的记录中除了包含李字的记录,还有不包含李字的记录。为什么 在MySQL中,进行中文排序和查找的时候,对

我在写一个查询条件时的问题如下: 如我想写一个字段中包含李字的所有记录 ?$str=李; select * from table where field like ''%?$str%'' ; 显示的记录中除了包含李字的记录,还有不包含李字的记录。为什么? 在MySQL中,进行中文排序和查找的时候,对汉字的

  我在写一个查询条件时的问题如下:

  如我想写一个字段中包含“李”字的所有记录

  ?$str="李";

  select * from table where field like ''%?$str%'' ;

  显示的记录中除了包含”李”字的记录,还有不包含“李”字的记录。为什么?

  在MySQL中,进行中文排序和查找的时候,,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。

  出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。

  方法一:

  解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。

  方法二:

  如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。

  方法三:

  可以使用 Mysql 的 locate 函数来判断。以上述问题为例,使用方法为:

  SELECT * FROM table WHERE locate(field,''李'') > 0;

  本站使用的就是这种方法,感觉还不错。:P

  方法四:

  把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY ''%FIND%''即可!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

mysql中文查询时的字符集匹配问题解决方法

mysql中文查询时的字符集匹配问题解决方法:我在写一个查询条件时的问题如下: 如我想写一个字段中包含李字的所有记录 $str=李; select * from table where field like ''%$str%'' ; 显示的记录中除了包含李字的记录,还有不包含李字的记录。为什么 在MySQL中,进行中文排序和查找的时候,对
推荐度:
标签: 查询 方法 中文
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top