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个中文以上基本没有这种可能了 展开
不变更数据库编码的情况还有办法么?
某些中文的编码特别容易被前后2个拼出来,但是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个设置好了,基本就不会出问题了,即建库和建表时都使用相同的编码格式。
但是如果已经建了库和表可以通过以下方式进行查询。
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个设置好了,基本就不会出问题了,即建库和建表时都使用相同的编码格式。
但是如果已经建了库和表可以通过以下方式进行查询。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询