2009-07-27 13 views
0

日本語に翻訳する必要があるテキストがあります。Google翻訳によるPHPのエンコーディングエラー

Translate text, webpage, or document 

としてGoogleが返す文字列を翻訳する:でしょう

–|–óƒeƒLƒXƒgA Webƒy[ƒWA‚Ü‚½‚̓hƒLƒ…ƒƒ“ƒg 

何を:私はファイル(ja.po)にそのテキストを書いていたとき、それは次のようになります

翻訳テキスト、 Webページ、またはドキュメント 

エラー?

私はpoeditor.exeを使用してファイルを表示しています。現在のところ、どのエンコード機能も使用していません。

for(/*extracting from the trnslated string array*/) 
{ 
    $pattern = "/msgid \"".preg_quote($id, '/')."\"(\r?\n)msgstr \"\"/"; 
    $string = str_replace('"', '\"', $string); 
    $replacement = "msgid \"$id\"\nmsgstr \"". $string . "\""; 
    $res = preg_replace($pattern, $replacement, $con); 
    $con = $res; 
} 
file_put_contents("ja.po", $con); 
+0

UTF-8をサポートするエディタでファイルを開きますか?そして/またはUTF-8をサポートするフォントで?はいの場合、どのように文字列(これはうまく見えます)をファイルに書いていますか? –

答えて

1

Googleから文字列をどうやって受け取っていますか、どのように書いていますか?どこかに沿ってUTF8からlatin1に変換されます。起こる場所を把握できる場合は、mb_convert_encodingを使用して修正してください。

ところで、翻訳された日本語はかなり悪いです。 ;)

1

あなたがそのファイルを読み込むために使用しているプログラムが、あなたが書いたエンコード形式を理解していないようです。 UTF8を使っていますか?他のエンコーディングの場合は、http://www.php.net/manual/en/function.iconv.phpをUTF8に変換してみてください。

関連する問題