2011-01-06 7 views
2

私はUTF8でエンコードされたmysqlデータベースを持っています。しかし、私が継承した以前の変換の問題のため、特定の文字列がデータベースに正しく保存されていませんでした。mysql php encoding

たとえば、£は£として保存する必要がありますが、多くの場所ではÂÃ,£のようなものとして保存されています。

誤ってエンコードされたテーブルのすべてのレコードを追跡することができました。このvarcharデータベースフィールドから不要な文字をすべて削除する最も簡単な方法は何ですか?

私はPHPでpreg_replaceを試しましたが、実際には何もしていないようです。

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

答えて

2

あなたは区切り文字で正規表現を囲む必要があります。それにpreg_replace呼び出し、影響を受けていない文字列またはNULLから返されている何

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

その過程にあった+1 – DTest

0

? nullの場合は、preg_replace manualに従ってエラーが発生しています。 @AndreKRが投稿したデリミタがないこと以外は、(文字列£でテストされた)£