У меня есть текст, который мне нужно перевести на японский язык.
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);
2 ответа
Как вы получаете строку из Google и как ее пишете? Я полагаю, что где-то по пути он конвертируется из UTF8 в latin1. Если вы можете выяснить, где это происходит, используйте mb_convert_encoding
< / a>, чтобы исправить это.
Кстати, японский переводчик очень плохой. ;)
Похоже, программа, которую вы используете для чтения этого файла, не понимает формат кодировки, в котором вы его записали. Вы полностью используете UTF8? Возможно, попробуйте http://www.php.net/manual/en/function. iconv.php, чтобы преобразовать его в UTF8, если это другая кодировка.
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.