Декодирование HTML-объектов в php - PullRequest
0 голосов
/ 15 июля 2010

Кажется, я не могу обойти кодировку utf-8.

Итак, я экспортирую контент из базы данных в виде XML-файла utf-8. Программное обеспечение, в которое я импортирую, довольно строго относится к кодированию символов, поэтому я не могу просто поместить все в теги CDATA.

Есть целая куча странных персонажей, например & rsquo ;, & mdash; & Hellip; уже в данных.

Они не работают в xml и должны быть заменены (обычно просто "цитатой").

В идеале я хотел бы декодировать все символы, а затем использовать htmlspecialchars ($ text, ENT_COMPAT, 'UTF-8', FALSE), чтобы снова их кодировать. Но я не могу найти функцию, которая будет их декодировать. Есть один? Я начал вручную проходить через каждую сущность с помощью str_replace (), но это превращается в гораздо большую работу, чем я ожидал.

Любая помощь будет спасателем. Спасибо

1 Ответ

2 голосов
/ 15 июля 2010

html_entity_decode () возможно?

в некоторых случаях, при проблемах с преобразованием символов в php, важно установить локаль.Не имеет значения, что, например,

setlocale(LC_CTYPE,'en_US.utf8');

Но я бы посоветовал, что любое время, потраченное на получение кодирования с самого начала, без возврата к сущностям, если это вообще возможно, стоит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...