php - PHP 中的 UTF-8 和 ISO 8859-1 编码

标签 php unicode utf-8

我正在尝试转换所有内容   PHP 中常规空格的实例:

echo '<meta charset="UTF-8" /> ';
echo html_entity_decode('&nbsp;');
echo html_entity_decode('&nbsp;', ENT_COMPAT, 'UTF-8');

如果第一行被注释掉,那么输出将以 ISO 8859-1 格式显示:

 Â

前面有一个空格的地方。如果指定 UTF-8 编码,则为:

这是一个未定义的 UTF-8 字符,后跟一个空格。不管编码如何,是否有办法确保所有 HTML 实体空间都能正确解码?

空格字符实际上只是一个例子,我想做的是从未指定的字符集中读取 html 输入并显示它。所以 < 和 <都会变成<。

最佳答案

  不是空格。在 ISO 8859-1 中它是字节 160,在 UTF-8 中它是 \xc2\xa0。正如名称no Breakable space 暗示浏览器不会将其替换为换行符。

如果您想要一个空格,则必须将其替换为空格。

关于php - PHP 中的 UTF-8 和 ISO 8859-1 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5136976/

相关文章:

linux - PHP 在实时环境中不显示错误,显示空白屏幕

php - Pusher/Laravel echo 订阅私有(private) channel 报错 : Auth value for subscription to channel is invalid: should be of format 'key:signature'

php - 比较PHP中的两个unicode字符串

objective-c - Xcode UTF-8 文字

python-3.x - 如何使 python 3 print() utf8

来自不同html页面的PHP连接

php - 注册后如何显示弹框?

python - Unicode编码错误: 'ascii' codec can't encode characters in position 0-10: ordinal not in range(128) chinese characters

Python编码utf错误

r - 在 R 中显示 UTF-8 编码字符