作者gamewolf (Escape)
看板Database
标题Re: [SQL ] MySQL 搜寻字串不正确
时间Wed May 30 10:50:32 2007
刚刚架好了一个新的环境,用的是 MySQL 4.1.22
并在 complie 时加入了 WITH_CHARSET=utf8 WITH_XCHARSET=all
以下是用 phpmyadmin 查出来的 MySQL 环境变数
[新 MySQL 4.1.22]
character set client utf8
character set connection utf8
character set database utf8
character set results utf8
character set server utf8
character set system utf8
collation connection utf8_unicode_ci
(整体值) utf8_general_ci
collation database utf8_general_ci
collation server utf8_general_ci
[旧 MySQL 4.1.19]
character set client latin1
(整体值) utf8
character set connection utf8
character set database utf8
character set results latin1
(整体值) utf8
character set server utf8
character set system utf8
collation connection utf8_unicode_ci
(整体值) utf8_general_ci
collation database utf8_general_ci
collation server utf8_general_ci
新的 MySQL 4.1.22 在查询上是没问题的(不论是 phpmyadmin 或我自己的程式)
先前旧 MySQL 4.1.19 的 my.cnf 里新增 default-character-set=utf8
然後在 select * from table where name like 'a%' 後加上 COLLATE utf8_bin
即可在 phpmyadmin 上得到正确的结果,但却失去了 like 不分大小写的功能
另外在我自己的程式里加上这句却会 error 这方面我就不知道是何原因了..
我想问题就出在 character set client 与 character set results 这两个
character set results 设到 my.cnf 里会让我的 mysql 啓动不能
character set client 设 utf8 会让用到中文的 SQL 句统统不正常
回传的资料有中文也都是乱码
看来我还是做升级搬家会比较好一点 Orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.124.24.124