html_entity_decode()、空格、amp;nbsp; 乱码问题

普通 ASCII 码空格为 32,但是浏览器会对普通空格进行自动归并,也就是如果你输入10个 0x20 的空格在HTML页面里面,可能会被合并成一个空格。

如果想要一致的呈现多个空格,就要用到 nbsp;,这个空格的编码为 160,为西欧ISO-8859-1编码标准。

为了让经过HTML编码的内容还原为原来的文本字符,可以使用 html_entity_decode() 方法,但这样问题就来了,通常HTML编码内容为UTF8格式的,
html_entity_decode()在浏览器UTF8编码环境下会把
nbsp; 转为一个黑色四方形状的乱码。只有切换为ISO-8859-1才能正确显示为空格。
所以在使用html_entity_decode()之前,需要先把
nbsp; 替换掉 str_replace("nbsp;","",$str),这样就可以避免乱码问题。


html_entity_decode()、空格、nbsp; 乱码问题

原文地址:http://www.cnblogs.com/yiven/p/7305803.html


最新回复(0)
/jishuqw_2FGtQ_2Fbq8bwsOJ3_2Fn3o7o2cx_2BHYjVyH8iVmaEdJpSs_3D4718979
8 简首页