バグの修正方法: #1977 - 「utf8」文字 0xD8AD を「latin1」に変換できません。
P粉574695215
P粉574695215 2023-07-18 19:47:03
0
1
537

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

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


リーリー

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

リーリー

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

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

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

リーリー

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

P粉574695215
P粉574695215

全員に返信 (1)
P粉460377540

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

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

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


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


いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!