我有一個UTF8編碼的mysql數據庫。但是,由於我繼承的某些先前的轉換問題,某些字符串已被錯誤地保存到數據庫中。mysql php編碼
例如,£應該保存爲£,但是在很多地方它被保存爲類似於××。
我已經能夠追蹤表中所有不正確編碼的記錄。什麼是我從這個varchar數據庫字段中刪除所有無用字符的最簡單方法?
我試過preg_replace在PHP中,但這似乎並沒有實際做任何事情。
return preg_replace("[^A-Za-z0-9£]", "", $string);
我有一個UTF8編碼的mysql數據庫。但是,由於我繼承的某些先前的轉換問題,某些字符串已被錯誤地保存到數據庫中。mysql php編碼
例如,£應該保存爲£,但是在很多地方它被保存爲類似於××。
我已經能夠追蹤表中所有不正確編碼的記錄。什麼是我從這個varchar數據庫字段中刪除所有無用字符的最簡單方法?
我試過preg_replace在PHP中,但這似乎並沒有實際做任何事情。
return preg_replace("[^A-Za-z0-9£]", "", $string);
你必須用分隔符正則表達式:
return preg_replace("/[^A-Za-z0-9£]/", "", $string);
什麼正在從電話的preg_replace,未受影響的字符串或返回NULL?如果它爲空,則根據preg_replace manual發生錯誤。除了@AndreKR發佈的缺失分隔符外,它對我來說很好(用字符串£
進行測試)
正在處理中, – DTest 2011-01-06 16:17:06