3

Wordpress MySQL データベースからエクスポートされた、UTF-8 でエンコードされた xml ファイルがあります。

ファイルは UTF-8 として保存され、エンコーディングは UTF-8 ですが、そこにあるはずのヘブライ語のテキストではなく、次のように意味不明になります。

™×•×~ות</p>

元のエンコーディングまたは文字セットを見つけて、テキストを適切なヘブライ語に変換するにはどうすればよいですか?

PHP の mb_detect_encoding($str); UTF-8 を返します

さまざまな設定と入出力文字セットを使用して、あらゆる種類の php エンコーディング関数を試しましたが、それらはすべて、次のように、見た目が意味不明なブロックを出力するだけです。

ãâãËãâ¢ãâ¢ãËã

�� ×שמ×

...これについてどうすればいいですか?

4

4 に答える 4

3
function convert($str) {
    $hebrew = array("א", "ב", "ג", "ד", "ה", "ו", "ז", "ח", "ט", "י", "כ", "ל", "מ", "נ", "ס", "ע", "פ", "צ", "ק", "ר", "ש", "ת", "ך", "ם", "ן", "ף", "ץ");
    $gibberish = array("à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ë", "ì", "î", "ð", "ñ", "ò", "ô", "ö", "÷", "ø", "ù", "ú", "ê", "í", "ï", "ó", "õ");
    return str_replace($gibberish, $hebrew, $str);
}

$hebrew_string = convert(utf8_encode($gibberish_string));
于 2014-07-25T09:20:13.657 に答える
1

データベースにアクセスできる場合は、latin1 としてエクスポートし、UTF8 としてインポートすることで簡単に修正できます。ここで提案されているように。

于 2010-05-16T09:52:10.060 に答える
0

これは、この質問と非常によく似ています。

私が見る限り、これはマングルされた Unicode 文字列であり、各 Unicode 文字が 2 つの Unicode 文字としてエンコードされています。

私が思いついたコードは、単純に空の上位バイトを破棄し、そこから元のバイト配列を再構築しました。コードは単なる例であり、アプローチは非常に単純化されていますが、そこにたどり着くのに役立つはずです。

于 2010-05-15T18:46:21.270 に答える
0

あなたのphpファイルを見てください.utf-8ではないかもしれません.xmlクエリがこの不要な文字列を返すのはそのためです.

于 2010-05-16T08:00:09.820 に答える