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

私は 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 学習者の迅速な成長を支援します!