PHP替換UTF-8的空格(0xC2 0xA0)
发表于:2026-03-05 15:24:31浏览:1545次
收藏
php 空格替换不了,php 空格无法替换,utf-8空格惹的祸,在于UTF-8这种编码里面,存在一个特殊的字符,其编码是“0xC2 0xA0”
在于UTF-8这种编码里面,存在一个特殊的字符,其编码是“0xC2 0xA0”,转换成字符的时候,表现为一个空格,和普通的半角空格“ ”(ASCII码:0x20)一样,唯一的不同是它的宽度不会被压缩,因此常常用于网页排版(如首行缩进)。
而GB2312、Unicode之类的编码并没有这个字符,因此UTF-8转码后,这个字符就会被替换成为问号。
使用UTF-8编码进行HTMLDecode的,对于语句开头的空格( ),就会被自动转换成为这个特殊字符(0xC2 0xA0),可能是判断为放在语句开头的空格就是用来排版的。
在转换为其他编码之前,这个特殊的空格受到的待遇与普通的半角空格是一致的,甚至也会被 trim() 去掉,但是如果夹杂在普通空格之间,有时候trim就去不掉它了。
言归正传,那怎么把这个空格字符去掉呢?
我们只需要使用PHP自带函数 chr() ,chr 是将ASCII码转换为字符的函数,如下:
$str=str_replace(chr(0xC2).chr(0xA0)," ",$str);

介个样纸,就万事大吉了。
推荐文章
- Sublime怎么格式化SQL_Sublime SqlBeautifier插件【库表】
- PHP替換UTF-8的空格(0xC2 0xA0)
- SEO优化中网页的title标题如何设置
- Sublime怎么加书签 Sublime怎么在代码行标记位置【标记】
- 本地修改开发的插件,如何在Fastadmin安装
- 苹果商店 App Store 推广位置详解
- 设置默认镜像地址_composer怎么修改全局配置文件
- 最新百度蜘蛛IP大全及其含义详解
- phpstudy 提示 mysqld.exe: Error while setting value ‘NO_ENGINE_SUBSTITUTION 错误的解决办法
- 多个项目相互用单点登录的Session问题