问题

记录到数据库的内容是被转码后的。其中的空格被转成 。将这个东西用html_entity_decode转过来的时候, 变成了“黑色方块”乱码。

解决办法

使用htmlspecials_decode转码而不是用html_entity_decode转码。转码后过滤

preg_replace("//"," ",$str);

区别

htmlentities转码所有html标签。htmlspecialchars值转换&,<,>,',"这5个。

一般用htmlspecialchars。htmlentities在转码中文时,容易出现乱码。