mysql 的 like 問題,超強畢殺記?。?!
更新時間:2007年01月18日 00:00:00 作者:
方法一:
解決方法是對于包含中文的字段加上"binary"屬性,使之作為二進制比較,例如將"name char(10)"改成"name char(10)binary"。
方法二:
如果你使用源碼編譯MySQL,可以編譯MySQL時使用--with--charset=gbk 參數(shù),這樣MySQL就會直接支持中文查找和排序了。
方法三:
可以使用 Mysql 的 locate 函數(shù)來判斷。以上述問題為例,使用方法為:
SELECT * FROM table WHERE locate(field,'李') > 0;
方法四:
把您的Select語句改成這樣,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'即可
問題出現(xiàn)的原因是: 在MySQL中,進行中文排序和查找的時候,對漢字的排序和查找結(jié)果是錯誤的。這種情況在MySQL的很多版本中都存在。如果這個問題不解決,那么MySQL將無法實際處理中文。
出現(xiàn)這個問題的原因是:MySQL在查詢字符串時是大小寫不敏感的,在編繹MySQL時一般以ISO-8859字符集作為默認的字符集,因此在比較過程中中文編碼字符大小寫轉(zhuǎn)換造成了這種現(xiàn)象
解決方法是對于包含中文的字段加上"binary"屬性,使之作為二進制比較,例如將"name char(10)"改成"name char(10)binary"。
方法二:
如果你使用源碼編譯MySQL,可以編譯MySQL時使用--with--charset=gbk 參數(shù),這樣MySQL就會直接支持中文查找和排序了。
方法三:
可以使用 Mysql 的 locate 函數(shù)來判斷。以上述問題為例,使用方法為:
SELECT * FROM table WHERE locate(field,'李') > 0;
方法四:
把您的Select語句改成這樣,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'即可
問題出現(xiàn)的原因是: 在MySQL中,進行中文排序和查找的時候,對漢字的排序和查找結(jié)果是錯誤的。這種情況在MySQL的很多版本中都存在。如果這個問題不解決,那么MySQL將無法實際處理中文。
出現(xiàn)這個問題的原因是:MySQL在查詢字符串時是大小寫不敏感的,在編繹MySQL時一般以ISO-8859字符集作為默認的字符集,因此在比較過程中中文編碼字符大小寫轉(zhuǎn)換造成了這種現(xiàn)象
相關(guān)文章
php實現(xiàn)常見圖片格式的水印和縮略圖制作(面向?qū)ο?
這篇文章主要介紹了php實現(xiàn)常見圖片格式j(luò)pg,png,gif的水印和縮略圖制作,使用面向?qū)ο蠓椒▽崿F(xiàn)PHP圖片水印和縮略圖功能,感興趣的小伙伴們可以參考一下2016-06-06
php讀取txt文件組成SQL并插入數(shù)據(jù)庫的代碼(原創(chuàng)自Zjmainstay)
php讀取txt文件組成SQL并插入數(shù)據(jù)庫的代碼,方便需要的朋友2012-07-07
linux下的php-fpm參數(shù)配置介紹與參數(shù)優(yōu)化說明
本文主要講解了在linux下php-fpm一些重要參數(shù)的中文詳細說明,并詳細介紹了php-fpm關(guān)于性能方面的參數(shù)優(yōu)化介紹2017-12-12
php中使用接口實現(xiàn)工廠設(shè)計模式的代碼
php實現(xiàn)工廠設(shè)計模式,使用接口實現(xiàn),表面上接口沒有什么用,因為php是類型自動轉(zhuǎn)換的。實現(xiàn)上使用接口可以約束類的定義,從而實現(xiàn)一致的訪問2012-06-06

