Я пытаюсь получить тайских символов с веб-сайта. Я пробовал:file_get_contents не работает с utf8
$rawChapter = file_get_contents("URL");
$rawChapter = mb_convert_encoding($rawChapter, 'UTF-8', mb_detect_encoding($rawChapter, 'UTF-8, ISO-8859-1', true));
Когда я делаю это, то персонажи возвращаются как:
¡ÅѺ˹éÒáá¾ÃФÑÁÀÕÃìÀÒÉÒä ·  © ºÑº
Но если я беру исходный код страницы Я пытаюсь загрузить и сохранить это в свой собственный .htm-файл на моем локальном хосте в качестве файла utf8, тогда он правильно загрузит тайских символов. Только когда я пытаюсь загрузить его с сайта напрямую, он ломается.
Как это исправить? В чем может быть проблема?
Я также попытался добавить этот контекст:
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => implode("\r\n", array(
'Content-type: application/x-www-form-urlencoded',
'Accept-Language: en-us,en;q=0.5',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7'
))
)
));
Я пытался добавить его в покое, я пытался добавить его с mb_convert_encoding() ... Я чувствую, как я пытался все комбинаций этого материала и успеха.
Ok, я вынул ISO и сохранил часть UTF-8 и добавил, что заголовок и поместить его в: – Samir
Вау, я не знаю, как использовать комментарии ... Я получил это: $ rawChapter = file_get_contents ("http://thaipope.org/webbible/01_002.htm", false, $ context); и он вернулся: Ѻ˹ á Ф © Ѻ – Samir
Да, вы получили свою строку в порядке. Проблема, которую вы видите, в том, что ваша строка в порядке (содержит тайские символы), но вы эхо ее используете с помощью ISO-8859-1. Если ваш вывод HTML, используйте 'header ('Content-type: text/html; charset = utf-8');' Если ваш вывод является открытым текстом, используйте 'header ('Content-type: text/plain; charset = utf-8 '); ' –