MySQL字符串大小寫經常會讓我們在注冊網站時受困了注冊名的大小寫,出現這個問題的原因是:MySQL在查詢字符串時是大小寫不敏感的,在編繹MySQL時一般以ISO-8859字符集作為默認的字符集,這個字符集對MySQL字符串大小寫不敏感,因此在比較過程中中文編碼字符大小寫轉換造成了這種MySQL字符串大小寫的問題。
方法一:
解決方法是對於包含中文的字段加上"binary"屬性,使之作為二進制比較,例如將"name char(10)"改成"name char(10)binary"。
方法二:
如果你使用源碼編譯MySQL,可以編譯MySQL時使用--with--charset=gbk 參數,這樣MySQL就會直接支持中文查找和排序了。
方法三:
可以使用 Mysql 的 locate 函數來判斷。以上述問題為例,使用方法為:
SELECT * FROM table WHERE locate(field,'李') > 0;
方法四:
把您的Select語句改成這樣,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'即可!
方法五:
如果你在Windows下使用已經編譯好的MySQL,可以修改My.ini中的字符集選項。
default-character-set = gb2312
如果是自己的服務器使用win系統,方法五是最好的方法!如果是linux系統,可以使用方法二!如果不是自己的機子,可以使用方法一,這樣你的用戶名是嚴格區分大小寫的!
MySQL分割字符串的實現
MySQL replace函數替換字符串
MySQL字符串連接函數用法簡介
mysql查詢大小寫問題
教您如何實現MySQL全文查詢