さまざまなエンコードされたデータで長い間満たされていた latin1 テーブルがあるため、多くの壊れた文字が含まれています。私はそれを修正しようとしていて、Latin1でエンコードされた列でUTF-8文字を検出する方法-MySQLは非常に役立ちます。特に次のコード
SELECT CONVERT(CONVERT(name USING BINARY) USING latin1) AS latin1, CONVERT(CONVERT(name USING BINARY) USING utf8) AS utf8 FROM users WHERE CONVERT(name USING BINARY) RLIKE CONCAT('[', UNHEX('80'), '-', UNHEX('FF'), ']')
しかし、これですべての問題が解決するわけではありません。「ä」と表示された ä 文字は、そのコマンドで ä に変換されますが、「Â」と表示される ä 文字もいくつかあるので、別のエンコード形式が使用されたようですが、どの文字がどの文字かわかりません。元に戻すことができました。mysql サーバーで利用可能な文字セットを試してみましたが、適切な結果が得られませんでした。誰かが以前にこの問題を経験したことがあり、正しい文字セットを教えてもらえますか?