私は世界中の都市の大きなデータベースを継承しました。どの言語のアルファベットの文字でもない文字を含むMySQLの行を見つけて修正する方法は?
placeName
の列には、一部の都市で名前が文字化けしていることがあります。例えば
:
Cité Administrative de l'Etat
は、データベース内のCité Administrative de l'Etat
として表示されます。
placeName
カラムの照合はutf8_general_ci
であり、テーブルの照合はutf8mb4_unicode_ci
です。
列placeName
のすべての都市名に、どの言語のアルファベットに属する文字も含まれていないことがありますか。
これらが見つかったら、どのようにして手動で手動で行う必要なく、Cité Administrative de l'Etat
がCité Administrative de l'Etat
になるように自動的に修正できますか?
DBにこれらの値を再挿入する方法がありませんか?なぜなら、あなたはPHPスクリプトで正しいエンコーディングを設定してから、値をINSERTしたり更新したりする方が簡単でしょう。 –
あなたは '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
@JulienLachal私は元のデータを持っていないので、私は残念ながらDBと一緒に作業しなければなりません。 – ProgrammerGirl