UTF8 настоящий декодер - PullRequest
       18

UTF8 настоящий декодер

1 голос
/ 25 января 2011

Возможно, очень простой вопрос, но мне было интересно, как я могу декодировать символы utf8 в читаемые символы.

Например:

L'heure suprême

В

L'heure suprême

Я попробовал следующее:

utf8_encode , utf8_decode And `html_entity_decode($string, ENT_COMPAT, "UTF-8");`

Вывод никогда не давал мне правильных символов, например

 html_entity_decode($string, ENT_COMPAT, "UTF-8"); returned L'heure suprême

РЕДАКТИРОВАТЬ: Это был глупый вопрос, html_entity_decode($string, ENT_COMPAT, "ISO-8859-15"); сделал трюк

1 Ответ

1 голос
/ 25 января 2011

Для того, чтобы ваши результаты отображались правильно, вам необходимо сообщить получающей стороне, какая кодировка используется:

header('Content-Type: text/plain; charset=UTF-8');

$string = 'L'heure suprême';
print html_entity_decode($string, ENT_COMPAT, "UTF-8");

Вывод без явного именования кодировки charset вызывает неопределенное поведение. Ранее сегодня кто-то предложил замечательную статью Джоэла Спольски о Юникоде и наборах символов. Это делает для хорошего чтения, и я предложу вам "просмотреть" его.

...