PHP Показать специальные символы - PullRequest
4 голосов
/ 07 июня 2011

Когда я вывожу текст £ 3,99 за м² из XML-файла, браузер отображает это как £ 3,99 за M² .XML файл в формате UTF-8. Интересно, как это исправить это.

Ответы [ 2 ]

6 голосов
/ 07 июня 2011

Убедитесь, что вы выводите UTF-8. Это преобразование звучит как ваш источник UTF-8, но вы говорите браузеру ожидать чего-то другого (Latin1?). Вы должны отправить заголовок, указывающий браузеру, что идет UTF-8, и у вас должен быть правильный мета заголовок:

 <?php
 header ('Content-type: text/html; charset=utf-8');
 ?>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 </head>
 <body>
 <?php echo "£3.99 per M²"; ?>
 </body>
 </html>

Это должно работать правильно.

4 голосов
/ 07 июня 2011

Вы должны закодировать html-сущности:

Вы можете попробовать

htmlentities($str, ENT_QUOTES, "UTF-8");

Смотрите здесь для полной справки

Если у вас все еще есть проблемы, иногда вам также нужно декодировать строку с помощью utf8_decode () так что вы можете попробовать:

$str = utf8_decode($str);
$str = htmlentities($str, ENT_QUOTES);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...