Я использую CURL для импорта кода. Однако на французском языке все персонажи выходят смешно. Например: Bonjour …
У меня нет доступа к изменению чего-либо на импортированном коде. Есть ли что-нибудь, что я могу сделать, чтобы исправить это?
благодаря
Как сказал Джон Скит, трудно понять вашу ситуацию, однако, если у вас есть доступ только к окончательному тексту, вы можете попробовать использовать iconv для изменения кодировки текста.
Т.е.
$text = iconv("Windows-1252","UTF-8",$text);
У меня было подобное время назад (с итальянским языком и специальными символами), и я решил это таким образом.
Попробуйте использовать другую комбинацию (UTF-8, ISO-8859-1, Windows-1252).
У меня была аналогичная проблема. Я попытался перебрать все комбинации входных и выходных кодировок. Ничего не помогло! 🙁
Однако мне удалось получить доступ к коду, который действительно извлекал данные, и именно здесь преступник солгал. Данные были получены с помощью cURL. Добавление
curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);
починил это.
Удобный набор кода для тестирования всех возможных комбинаций списка кодировок:
$charsets = array( "UTF-8", "ASCII", "Windows-1252", "ISO-8859-15", "ISO-8859-1", "ISO-8859-6", "CP1256" ); foreach ($charsets as $ch1) { foreach ($charsets as $ch2){ echo "<h1>Combination $ch1 to $ch2 produces: </h1>".iconv($ch1, $ch2, $text_2_convert); } }
По-видимому, PHP использует UTF-8 по умолчанию, поэтому я нашел следующие работы
$ text = iconv («UTF-8», «Windows-1252», $ text);
Вы можете заменить
$data = curl_exec($ch);
от
$data = utf8_decode(curl_exec($ch));
У меня была такая же проблема, и она работала хорошо для меня.
В настоящее время у меня такая же проблема, я пытаюсь написать простой html <title>
импортер cia cURL. Поэтому я собираюсь дать представление о том, что я сделал до сих пор:
curl_getinfo()
и сопоставлять их с помощью регулярных выражений <title>
(да, я знаю последствия ) iconv()
строка $DEITY
наказывает его до конца дней, потому что это спасет меня от мета-анализа