6月 3, 2024 - php开发    不间断空格的坑:ASCII:\u00A0已关闭评论

不间断空格的坑:ASCII:\u00A0

Office软件或Wps软件,都支持一个特殊字符:不间断空格(ctrl + shift + 空格)再转换为utf-8时成了xC2 0xA0,对应的ASCII:\u00A0。但分发到第三方平台时,这个特殊字符不能被正确识别,导致分发异常.

https://fuhaoku.net/U+00A0:查询字符对应的ascii和utf-8编码

看着:iQIYI 爱奇艺|萌探2024|精选频道 萌探2024 卡段
转到text就成了?

在线转ASCII码:https://www.sojson.com/ascii.html

解决方案:把这个不间断空格转换成统一的英文空格。

【解决空格乱码或者空格编码格式不正确的相关问题  CSDN Apphttp://t.csdnimg.cn/15FKv

https://feizhaojun.com/?p=313

在于UTF-8这种编码里面,存在一个特殊的字符,其编码是“0xC2 0xA0”,转换成字符的时候,表现为一个空格,和普通的半角空格“ ”(ASCII码:0x20)一样,唯一的不同是它的宽度不会被压缩,因此常常用于网页排版(如首行缩进)。而GB2312Unicode之类的编码并没有这个字符,因此UTF-8转码后,这个字符就会被替换成为问号。

php代码:

$description=str_replace(chr(0xC2).chr(0xA0),” “,$description);

或:

$description=str_replace(chr(194).chr(160), ‘ ‘, $description);

$a = ‘iQIYI 爱奇艺;

$b = ‘iQIYI 爱奇艺;

$c = str_replace(chr(0xC2).chr(0xA0),” “,$a);

dd(json_encode($a), json_encode($b), $c, json_encode($c));

 

评论被关闭。