2009-07-27 4 views
0

J'ai un texte que j'ai besoin de traduire en japonais.Erreur de codage dans PHP avec Google Translate

Translate text, webpage, or document 

Google Translate renvoie la chaîne comme:

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

Quand je suis en train d'écrire ce texte à un fichier (ja.po), il ressemble à:

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

Quel serait l'erreur? J'utilise poeditor.exe pour voir le fichier. Je n'utilise aucune fonction d'encodage pour le moment.

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

Ouvrez-vous le fichier avec un éditeur qui prend en charge UTF-8? Et/ou avec une police qui supporte UTF-8? Si oui, comment écrivez-vous la chaîne (qui semble bien) dans le fichier (ce qui n'est pas très joli)? –

Répondre

1

Comment obtenez-vous la chaîne de Google et comment l'écrivez-vous? Quelque part le long du chemin, il est converti de UTF8 en latin1, je suppose. Si vous pouvez comprendre où cela arrive, utilisez mb_convert_encoding pour le réparer.

BTW, le japonais traduit est plutôt mauvais. ;)

1

Il semble que le programme que vous utilisez pour lire ce fichier ne comprend pas le format d'encodage que vous avez écrit. Utilisez-vous UTF8 jusqu'au bout? Peut-être essayer http://www.php.net/manual/en/function.iconv.php pour le convertir en UTF8 si c'est un autre encodage.