2

エンコーディング エラーでいっぱいのデータベースがあり、元のデータを見つけるために元に戻そうと途方に暮れています。

これはトルコの住所のサンプルです。

M�¼ze M�¼d�¼rl�¼�Ÿ�¼
Konyalt�± Cad.
Muratpa�Ÿa
Antalya

アップデート

問題は 2 つあります。

  1. latin1_swedish_ci元のテーブルの文字が壊れています。つまり、文字セットの外にある文字です。
  2. phpMyAdmin のエクスポート/インポート中に utf-8 エンコーディングを二重化します。

後者の解決策は次のようになります。

$str = str_replace('?', chr(194).chr(131), $str);
$str = utf8_decode(utf8_decode($str));

これは、@cleong が示唆するようにエンコーディング情報が失われたという元の破損の問題を解決しません。

4

1 に答える 1

2

あなたのデータベースはMySQLだと思います。エンコーディングを更新して試しましたか?最初に、MySQL 内に正しく表示されるかどうかを確認します。エンコード/照合を UTF-8 に設定し、phpmyadmin または MySQL CLI を使用してクエリを実行し、どのように表示されるかを確認します。

于 2012-08-29T21:17:02.660 に答える