MySQL中修理特殊不可見uft8字符 |
發(fā)布時間: 2012/9/24 17:04:39 |
工作中有一個中文字庫表,是前輩從其他地方導(dǎo)入的。最近使用的時候發(fā)現(xiàn)有些詞,比如“清白”,明明只有兩個字,卻只能用LIKE ‘%清白%’查出,直接=’清白’找不到。 第一反應(yīng),前后可能有空格。于是在PHPMyadmin中用MySQL的trim函數(shù)過濾了一下 update 字庫 set Vocabulary = trim(Vocabulary)但返回的affected rows數(shù)居然是0-
select hex('清白'), hex(Vocabulary), Vocabulary from 字庫 where Vocabulary like '%清白%'這下一眼就看出正常字符串前多了個hex為“EFBBBF”的字符,將這個十六進(jìn)制數(shù)扔到windows自帶的計算器中換成十進(jìn)制為15711167,真兇確定,刪之: update 字庫 set Vocabulary = REPLACE(Vocabulary, char(15711167),'')affected rows居然有3000多,怪不得感覺老有些常用詞檢索不出來呢…… 保險起見,再用了一次trim update 字庫 set Vocabulary = trim(Vocabulary)又冒出3個affected rows。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |