Ну, я сдаюсь. Я возился со всем, что я мог придумать, чтобы извлекать данные с целевого сайта, который имеет информацию в традиционной китайской кодировке (charset = GB2312).
Я использую simple_html_parser, как всегда, но он, похоже, не возвращает китайских иероглифов, на самом деле все, что я получаю, – это некоторые странные вопросительные знаки, встроенные в ромбовидную форму. (« ѯ ؼ ֣ »)
Объявление кодировки для php-файла ничего не делало, кроме как избавиться от нежелательного символа, отображаемого в начале страницы.
Объявляя это, я имею в виду:
header('Content-Type', 'text/html; charset=GB2312');
Я не могу получить данные, написанные на китайском языке, а также попробовал file_get_contents
с той же удачей. Вероятно, я пропустил что-то очевидное, так как я не могу найти какой-либо связанной дискуссии в другом месте.
Заранее спасибо.
Пробовали ли вы конвертировать кодировку с помощью mb_convert_encoding или iconv , например
$str = mb_convert_encoding($content, 'UTF-8', 'GB2312');
или
$str = iconv("UTF-8", "GB2312//IGNORE", $content);
Получите его в любом значении, заданном источником, затем преобразуйте его в то, что можно использовать локально, например, UTF-8. Затем отправьте его в браузер.
set header('Content-Type: text/html; charset=utf-8');
Он работает для меня