mysql数据库,中文模糊搜索结果不对的问题 10

mysql编码latin1,我的网页是PHP的编码是GB2312,在数据库做like查询含中文字段时,结果不正确。我的查询语句select*fromarticlewher... mysql编码latin1,我的网页是PHP的编码是GB2312,在数据库做like查询含中文字段时,结果不正确。我的查询语句select * from article where binary title like '%思%'。不带思的也会出来。查了一下GB2312编码,是前后中文的2个GB2312的4位编码拼接成了我关键字的编码,如人C8CB激BCA4,我查询的思是CBBC,然后有人激的结果也带出来了。这个问题怎么解决?
不变更数据库编码的情况还有办法么?
某些中文的编码特别容易被前后2个拼出来,但是2个中文以上基本没有这种可能了
展开
 我来答
匿名用户
2016-06-23
展开全部
MySQL会出现中文乱码的原因不外乎下列几点:
1.server本身设定问题。
2.table的语系设定问题(包含character与collation)
3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8。utf8可以兼容世界上所有字符!
一、避免创建数据库及表出现中文乱码和查看编码方法
1、创建数据库的时候:CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';
2、建表的时候 CREATE TABLE `database_user` (
`ID` varchar(40) NOT NULL default '',
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
这2个设置好了,基本就不会出问题了,即建库和建表时都使用相同的编码格式。
但是如果已经建了库和表可以通过以下方式进行查询。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
开拓者kt00com
2016-06-22 · TA获得超过428个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:100万
展开全部
编码统一了再处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式