В настоящее время мой сайт поддерживает английский, португальский, шведский и польский. Но почему-то некоторые польские персонажи не показывают Zal z konto
, как Zal z konto
это должно выглядеть так, как это Zalóz konto
у меня есть это
// Send the Content-type header in case the web server is setup to send something else header('Content-type: text/html; charset=utf-8');
и внутри <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Вам также нужно преобразовать строку в UTF8.
utf8_encode () не проверяет, какая кодировка была в вашей строке, и иногда она дает вам испорченную строку, поэтому я сделал функцию под названием Encoding :: toUTF8 (), чтобы сделать это правильно.
Вам не нужно знать, что такое кодировка ваших строк. Это может быть Latin1 (iso 8859-1), Windows-1252 или UTF8, или строка может содержать их. Кодирование :: toUTF8 () преобразует все в UTF8.
Я сделал это, потому что служба давала мне поток данных, все испорченные, смешивая эти кодировки в одной строке.
Применение:
$utf8_string = Encoding::toUTF8($mixed_string); $latin1_string = Encoding::toLatin1($mixed_string);
Я включил еще одну функцию, Encoding :: fixUTF8 (), которая исправит каждую строку UTF8, которая искажает искаженный продукт, который был закодирован в UTF8 несколько раз.
Применение:
$utf8_string = Encoding::fixUTF8($garbled_utf8_string);
Примеры:
echo Encoding::fixUTF8("Fédération Camerounaise de Football"); echo Encoding::fixUTF8("Fédération Camerounaise de Football"); echo Encoding::fixUTF8("FÃÂédÃÂération Camerounaise de Football"); echo Encoding::fixUTF8("Fédération Camerounaise de Football");
выведет:
Fédération Camerounaise de Football Fédération Camerounaise de Football Fédération Camerounaise de Football Fédération Camerounaise de Football
Скачать:
если вы извлекаете данные из базы данных mysql с помощью php, вы должны использовать этот запрос, прежде чем что-либо сделать ..
mysql_query("SET NAMES utf8");
Поэтому данные, полученные из db, будут правильно закодированы, если они были правильно сохранены в нем …
В качестве альтернативы вы можете использовать стандарт iso-8859-1 :
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />