Как можно преобразовать строки UTF-8 (то есть 8-битную строку) в / из XML-совместимых 7-битных строк (то есть ASCII для печати с числовыми объектами)?
т.е. функция encode()
такая, что:
encode("“£”") -> "“£”"
decode()
также будет полезно:
decode("“£”") -> "“£”"
Пара PHP htmlenties()
/ html_entity_decode()
не делает правильных действий:
htmlentities(html_entity_decode("“£”")) ->
"“£”"
Трудоемкое указание типов немного помогает, но все же возвращает несовместимые с XML именованные сущности, а не числовые:
htmlentities(html_entity_decode("“£”", ENT_QUOTES, "UTF-8"), ENT_QUOTES, "UTF-8") ->
"“£”"