如何将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") ->
  "“£”"

最佳答案

mb_encode_numericentity完全正确。

08-06 01:57