utf 8 — изменение набора символов для арабских символов с помощью file_get_contents

Я получаю арабский перевод с помощью Google, это мой код:

header('Content-Type: text/html; charset=UTF-8');
$page=file_get_contents("http://www.google.com/translate_t?langpair=en|ar&text=hello",FILE_TEXT);
$page=substr($page,strpos($page,"TRANSLATED_TEXT")+strlen("TRANSLATED_TEXT")+2);
$page=substr($page,0,strpos($page,"';INPUT_TOOL_PATH"));
echo mb_detect_encoding($page); // edited 2015/05/26
echo mb_convert_encoding($page, 'UTF-8', 'ISO-8859-6');

Если вы перейдете по ссылке в функции file_get_contents, вы увидите это слово: مرحبا

Но если вы запустите код, вы получите: كرحبا

Как видите, последний (или первый) персонаж отличается!

Что я делаю не так?

2

Решение

Заменить последнюю строку на:

echo iconv('WINDOWS-1256', 'UTF-8', $page);

И я думаю, потому что вы используете неправильную кодировку, если вы проверите метаданные набора символов, возвращаемые страницей, вы увидите, что это windows-1256.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector