2012-05-17 2 views
0

У меня возникла проблема с файлом XML, который я генерирую из данных из моей базы данных.ошибка проверки xml с символом é (xE9)

Я указываю тип кодирования UTF-8.

У меня есть текст, который, когда я просматриваю его в браузере или в базе данных, представляет собой символ é. Однако, когда я просматриваю XML-файл в Notepad ++, он отображается как [xE9].

Это определение в верхней части моего файла XML:

<?xml version="1.0" encoding="UTF-8" ?> 
<rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0"> 

Это отрывок из моего файла XML и показывает характер, что вызывает проблемы. Я смущен, почему это отображается как символ не-UTF-8, как показано ниже, но по этой причине мой XML недопустим.

<description><![CDATA[work appliqu顤ress. Picco three-quarter sleeved style. Cutwork appliqu顦eatures fitted, with side pockets.]]></description> 

В моем PHP скрипт я использую функцию htmlspecialchars, но она не кажется, иметь дело с этим персонажем:

<description><![CDATA[<?php echo htmlspecialchars($product['product-description']) ?: 'CRMPicco Online'; ?>]]></description> 

К сожалению, существует целый ряд случаев, в файле, где это символ присутствует, поэтому я не могу просто удалить этот один из символов из базы данных.

Должен ли я быть в состоянии очистить это в PHP?

ответ

0

Это можно сделать с помощью функции iconv в PHP:

$text = iconv("UTF-8","UTF-8//IGNORE",$text); 

Я изменил код, чтобы использовать это, и это работает.

Смежные вопросы