2017-06-22 9 views
0

私は世界中の都市の大きなデータベースを継承しました。どの言語のアルファベットの文字でもない文字を含むMySQLの行を見つけて修正する方法は?

placeNameの列には、一部の都市で名前が文字化けしていることがあります。例えば

Cité Administrative de l'Etatは、データベース内のCité Administrative de l'Etatとして表示されます。

placeNameカラムの照合はutf8_general_ciであり、テーブルの照合はutf8mb4_unicode_ciです。

placeNameのすべての都市名に、どの言語のアルファベットに属する文字も含まれていないことがありますか。

これらが見つかったら、どのようにして手動で手動で行う必要なく、Cité Administrative de l'EtatCité Administrative de l'Etatになるように自動的に修正できますか?

+2

DBにこれらの値を再挿入する方法がありませんか?なぜなら、あなたはPHPスクリプトで正しいエンコーディングを設定してから、値をINSERTしたり更新したりする方が簡単でしょう。 –

+1

あなたは 'INSERT ... SELECT CONVERT(... USING utf8)'を試すことができます:https://dev.mysql.com/doc/refman/5.7/en/cast-functions.html - * "Cité" * UTFデータを8859-1(UTF-8はラテン文字の2倍の文字数があるので、ASCII以外の文字には2文字間違いがある)にしようとするとどうなるでしょうか? *チェックリスト*を通過したいと思うでしょう:https://stackoverflow.com/questions/279170/utf-8-all-the-way-through/279279 – CD001

+0

@JulienLachal私は元のデータを持っていないので、私は残念ながらDBと一緒に作業しなければなりません。 – ProgrammerGirl

答えて

関連する問題