Вопрос

У меня есть кое-какой текст, который мне нужно перевести на японский.

Translate text, webpage, or document

Google Translate возвращает строку в виде:

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

Когда я записываю этот текст в файл (ja.po), он выглядит следующим образом:

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

В чем могла бы заключаться ошибка?

Я использую 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);
Это было полезно?

Решение

Как вы получаете строку из Google и как вы ее пишете?Я полагаю, где-то на этом пути он преобразуется из UTF8 в latin1.Если вы можете выяснить, где это происходит, используйте mb_convert_encoding чтобы это исправить.

Кстати, переведенный японский довольно плох.;)

Другие советы

Похоже, что программа, которую вы используете для чтения этого файла, не понимает формат кодировки, в котором вы его записали.Используете ли вы UTF8 до конца?Может быть, попробовать http://www.php.net/manual/en/function .iconv.php преобразовать его в UTF8, если это какая-то другая кодировка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top