Когда я вывожу текст £ 3,99 за M² из xml-файла, браузер отображает его как 3,99 фунта на M². XML- файл находится в формате UTF-8. Интересно, как это исправить.
Убедитесь, что вы выводите 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>
Это должно работать правильно.
Вы должны кодировать html-объекты:
вы можете попробовать
htmlentities($str, ENT_QUOTES, "UTF-8");
Посмотрите здесь полную ссылку
Если у вас все еще есть проблемы, иногда вам также необходимо декодировать строку с помощью utf8_decode (), чтобы вы могли попробовать:
$str = utf8_decode($str); $str = htmlentities($str, ENT_QUOTES);