社区
基础编程
帖子详情
MySQL问题:如何在表中查找中文字串?
zhiin1
2004-04-09 11:31:58
MySQL问题:如何在表中查找中文字串?
我用 select * from table_1 where col like "%中国%" ;查找怎么不行?
但是如果我查找英文字串就可以~
即用 select * from table_1 where col like "%abc" ; 就可以~~~
...全文
177
13
打赏
收藏
MySQL问题:如何在表中查找中文字串?
MySQL问题:如何在表中查找中文字串? 我用 select * from table_1 where col like "%中国%" ;查找怎么不行? 但是如果我查找英文字串就可以~ 即用 select * from table_1 where col like "%abc" ; 就可以~~~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bflovesnow
2004-04-23
打赏
举报
回复
拿2进制作比较:
select * from table_1 where binary col like '%中国%' ;
或者修改该表的col表 binary列:
alter table table_1 modify col varchar(10) binary
zhiin1
2004-04-22
打赏
举报
回复
?????
ice_berg16
2004-04-11
打赏
举报
回复
c:window\下
zhiin1
2004-04-11
打赏
举报
回复
我用的是mysql 5.0.0
操作系统windows server 2003
我为什么找不到 my.ini 或 my.cnf 呢?
amethyst99
2004-04-11
打赏
举报
回复
收藏,一直不明白原因,这下知道了
zhiin1
2004-04-11
打赏
举报
回复
我的my.ini文件内容如下,可以找不到这句啊~ 可以直接加上吗?
#This File was made using the WinMySQLAdmin 1.4 Tool
#2004-3-6 1:38:14
#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions
[mysqld]
basedir=C:/mysql5
#bind-address=10.1.113.62
datadir=C:/mysql5/data
#language=C:/mysql5/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
[WinMySQLadmin]
Server=C:/mysql5/bin/mysqld-nt.exe
user=zhiin
password=studio
bflovesnow
2004-04-11
打赏
举报
回复
1.可以 select * from table_1 where binary col like "%中国%" ;
2.修改 my.cnf里的default-character-set=gb2312
phanx
2004-04-10
打赏
举报
回复
怎么不行呢?
mysql语言设为 gbk
或者sql语句中用BINARY
xylegend
2004-04-10
打赏
举报
回复
好,收藏了
还真没有碰到过中文查询的问题……
diekiss
2004-04-10
打赏
举报
回复
同意楼上的。我遇到过类似情形,将default-character-set设置成gbk或者gb2312就可以了
phanx
2004-04-10
打赏
举报
回复
其实不用编译的时候做。
在 my.cnf 里面加入 default-character-set=gbk
(Win平台为 my.ini) 就行了
afoskoo
2004-04-10
打赏
举报
回复
好就一个字.
bonniewater
2004-04-10
打赏
举报
回复
http://www.phpe.net/faq/66.shtml
Q:
我在写一个查询条件时的问题如下:
如我想写一个字段中包含“李”字的所有记录
$str="李";
select * from table where field like '%$str%' ;
显示的记录中除了包含”李”字的记录,还有不包含“李”字的记录。为什么?
A:
在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%'即可!
数据库
字串
批量替换工具
相信有很多朋友被黑客把数据库里的数据后面都加了病毒代码和JS代码吧, 不要急,本人也是受害者,使用我这个工具就行啦!也不用写复杂的SQL语句去替换。操作简单。
数据库
字串
批量替换工具(绿色版)
数据库
字串
批量替换工具,绿色免安装,简单实用~
本地磁盘E的文件使用
查找
到的
本地磁盘E的文件使用
查找
到的
mysql
里查询
中文
条件_
Mysql
对
中文
查询条件出现的
问题
症状:在数据库中输入查询语句select * from table where name='
中文
',有一条结果集。但是用java来查询同样一条语句结果集却为空。查来查去也就只能归结到字符集的
问题
了。首先,
MySQL
数据库中的东西都是二进制存放的,支持任何数据,当然包括
中文
。你到命令行下insert into testtable values ( '
中文
' );select * from test...
mysql
查询
中文
问题
解决方法
Q:
我在写一个查询条件时的
问题
如下:
如我想写一个字段中包含“李”字的所有记录
$str="李";
select * from table where field like '%$str%' ;
显示的记录中除了包含”李”字的记录,还有不包含“李”字的记录。为什么?
A:
在
MySQL
中,进行
中文
排序和
查找
的时候,对汉字的排序和
查找
结果是错误的。这种情况在
MySQL
的很多版本中
基础编程
21,890
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章