考虑以下字符串。它以UTF-16-LE编码并保存为PHP变量。我没有得到mbstring或iconv来替换'单引号'。什么是对其进行消毒的好方法。
字符串:Carl Sagan '
宇宙连接
答案 0 :(得分:1)
除非我误解了这个问题,否则'
不是UTF-16问题。该字符串已在其上运行htmlspecialchars()
或htmlentities()
,并且单引号已转换为html实体代表'
。
要使其恢复正常,您需要执行html_entity_decode()。
通常,您只想在输出时进行html编码,这样可以避免持续存在这种转换。如果您在某处获取HTML输入以获取这些字符串,则可能需要在执行UTF转换和存储之前解码实体。