私は phpMyAdmin を使用していて、名前列に Ú©Ù``ب اÙ``رقيÙ'Ø© عÙ``Ûā اÙ``عزÛāزبور のようなアラビア文字の値があります。 Ûā 、それらを正しい形式に変換したいです。
次のクエリを試したところ、テーブル内のほとんどのレコードが正しい形式に変換されました。
他の方法も試してみました。
リーリーしかし、そのうちのいくつかは同じままで、次のエラーが表示されます。
#1977 - 「utf8」文字 0xD8AD を「latin1」に変換できません
このクエリも試してみました。 :
リーリーこのクエリは正常に実行され、未変換の文字が完全に表示されます。しかし、更新クエリを使用すると機能しません。
P粉4603775402023-07-19 00:22:56
これは文字化けしている、または「二重エンコードされた」アラビア語テキストです。
データを修復するにはいくつかの方法があります。それを改善する方法は 1 つだけで、他の方法は悪化させます。
この UTF-8 文字の問題を確認してください。表示されているものは保存しているものではありません そして、データベース内の内容の 16 進値を取得するための提案に従ってください。現在のスキーマによって定義された SHOW CREATE TABLE の提供に加えて。 SHOW VARIABLES LIKE 'char%' と接続パラメータも指定してください。
さまざまな ALTER および CONVERT をバックアップする前に、16 進数の値を指定してください。そうすれば、正しい変換方法を選択できる可能性があります。