考虑以下字符串。它以 UTF-16-LE 编码并保存到 PHP 变量中。我无法让 mbstring 或 iconv 用单引号替换 '。什么是净化它的好方法。
弦乐:卡尔·萨根'
的宇宙连接
除非我误解了这个问题,否则'
不是 UTF-16 问题。该字符串已经具有htmlspecialchars()
或htmlentities()
在其上运行,并且单引号已转换为 html 实体表示'
。
要使其恢复正常,您需要执行html_entity_decode()。
通常,您只想在输出时进行 html 编码,以避免持续进行这种转换。如果您在某处接收 HTML 输入以获取此类字符串,您可能希望在进行 UTF 转换和存储之前解码实体。