ホームページ  >  に質問  >  本文

バグの修正方法: #1977 - 「utf8」文字 0xD8AD を「latin1」に変換できません。

私は phpMyAdmin を使用していて、名前列に Ú©Ù``ب اÙ``رقيÙ'Ø© عÙ``Ûā اÙ``عزÛāزبور のようなアラビア文字の値があります。 Ûā 、それらを正しい形式に変換したいです。

次のクエリを試したところ、テーブル内のほとんどのレコードが正しい形式に変換されました。


リーリー

他の方法も試してみました。

リーリー

しかし、そのうちのいくつかは同じままで、次のエラーが表示されます。

#1977 - 「utf8」文字 0xD8AD を「latin1」に変換できません

このクエリも試してみました。 :

リーリー

このクエリは正常に実行され、未変換の文字が完全に表示されます。しかし、更新クエリを使用すると機能しません。

P粉574695215P粉574695215459日前559

全員に返信(1)返信します

  • P粉460377540

    P粉4603775402023-07-19 00:22:56

    これは文字化けしている、または「二重エンコードされた」アラビア語テキストです。

    データを修復するにはいくつかの方法があります。それを改善する方法は 1 つだけで、他の方法は悪化させます。

    この UTF-8 文字の問題を確認してください。表示されているものは保存しているものではありません そして、データベース内の内容の 16 進値を取得するための提案に従ってください。現在のスキーマによって定義された SHOW CREATE TABLE の提供に加えて。 SHOW VARIABLES LIKE 'char%' と接続パラメータも指定してください。


    さまざまな ALTER および CONVERT をバックアップする前に、16 進数の値を指定してください。そうすれば、正しい変換方法を選択できる可能性があります。


    返事
    0
  • キャンセル返事