2

私は次のようなコードを含むデータベースに直面しています:?ɬ´(これは:ëである必要があります)。使用されている文字セットがわかりません。すべてをUTF8にしたいので、これらのコードを変換する必要があります。文字セットを変換するphp関数を見つけましたが、試したすべて(mb_detect_encoding、iconv、utf8_decodeなど)は?ɬ´をëに変換しません。最初の問題は、使用されている文字セットがわからないことです。2番目の問題は、その文字セットをUTF8に変換する方法です。

4

1 に答える 1

0

コメントするには長すぎるので、答えとは言いたくないのですが、答えとして投稿します。

テストとして使用できる単一の文字列を見つけて、一連の変換を実行して、それらのいずれかが正しく機能するかどうかを確認します。mbstringモジュールがサポートする文字セットのリストがここにあります。つまり、基本的には次のようなことをします。

$string = "whatever"; // String you retrieve from the database.
$charSets = array('UTF-8', 'ISO-8859-1', ...); // Fill this array with the character sets.

foreach ($charSets as $cs) {
    print mb_convert_encoding($string, 'UTF-8', $cs)."\n";
}

代わりにiconv()を使用することもできますし、おそらく使用する必要がありますが、その便利なサポート対象の文字セットのリストがなかったため、例としてmbstringを使用しました。

于 2012-11-07T22:17:38.527 に答える