2011-01-06 57 views
2

我有一個UTF8編碼的mysql數據庫。但是,由於我繼承的某些先前的轉換問題,某些字符串已被錯誤地保存到數據庫中。mysql php編碼

例如,£應該保存爲£,但是在很多地方它被保存爲類似於××。

我已經能夠追蹤表中所有不正確編碼的記錄。什麼是我從這個varchar數據庫字段中刪除所有無用字符的最簡單方法?

我試過preg_replace在PHP中,但這似乎並沒有實際做任何事情。

return preg_replace("[^A-Za-z0-9£]", "", $string); 

回答

2

你必須用分隔符正則表達式:

return preg_replace("/[^A-Za-z0-9£]/", "", $string); 
+0

正在處理中, – DTest 2011-01-06 16:17:06

0

什麼正在從電話的preg_replace,未受影響的字符串或返回NULL?如果它爲空,則根據preg_replace manual發生錯誤。除了@AndreKR發佈的缺失分隔符外,它對我來說很好(用字符串£進行測試)