MySQL latin1編碼查詢不准的解決方案

2021-08-25 15:00:28 字數 817 閱讀 3302

今天遇到乙個 latin1編碼查詢不准的問題,比如輸入「遼寧」,會將帶有「寧夏」,「寧波」的一起搜尋出來。補救方法:

使用mysql 本身特性解決的方法是使用latin1_bin 校對字符集,如message2,但如果你的資料

已經是其它latin 校對字符集,使用下面的方法補救:

select * from article where title like '%遼寧%' collate latin1_bin;

select * from article where binary title like '%遼寧%';

從mysql 手冊中說,這兩種方式是一樣的,而實質上,上面一種方法會利用到索引,下面一

種方法沒有使用任何索引。

可以使用explain 語法檢查以下三句的區別:

explain select * from article where title like '%遼寧%' collate latin1_bin;

explain select * from article where binary title like '%遼寧%';

explain select * from article where title like '%遼寧%';

mysql4.0不支援其他字符集,安裝時不可選,預設安裝為latin1

從mysql4.1版本開始,安裝時可以選擇資料庫預設字符集,如:utf-8

這個問題是歷史遺留問題,mysql4.0對中文支援的不好

最好的解決方法是更改資料庫字符集,如果實在沒有辦法只能按以上方法解決

mysql latin1 utf8資料匯入的問題

2013年6月28日更新 寫了個指令碼去自動化的轉資料庫並匯入 正在匯出資料庫表.18 匯出資料庫表,這裡資料表需要自己先建立好 19 mysqldump default character set latin1 no create info u db user p db pass db tmp d...

1 編碼 神經編碼(1) 訊號與系統

眾所周知,大腦活動會產生非常多種類的神經訊號,其中一部分是可以觀測的。比如大腦皮層產生的微弱電磁場可以用eeg或meg來探測,大腦的耗氧量可以用fmri的方式觀察,某個神經元的放點頻率可以通過單細胞記錄的方法 singel cell recording 探測。這些電生理學的技術是否可以幫助我們理解大...

1 編碼方式

一 1.unicode只是一種編碼方式。ascii碼 只使用了7個位元位,127個字元 美國 佔 1 個位元組 擴充套件ascii碼 使用了8個位元位,256個字元 拉丁 佔 1 個位元組 中文擴充套件ascii碼 gb2312 把拉丁的給霸佔了,根據2個位元組分別使用情況變化,幾千個字元 中國 佔...