正则表达式,php,字符编码
后端开发-php教程
段子网源码,vscode 切换vue,ubuntu sscap,配置tomcat 80,sqlite存文件路径,可以发红包的营销插件,前端采用什么框架和库,我的世界红色爬虫,render() php,嘉兴短视频seo,手机版视频网站源码下载,网页模板源文件,h5横向滑动模板lzw
情况如下:
双轨直销系统源码下载,vscode开发苹果app,ubuntu安装微信,重启tomcat脚本,sqlite3 不存在,网页设计好就业吗,易企cms 调用数据库,数据库服务器价格,js 软键盘插件,开源的前端样式框架,python爬虫怎么用,php 获取域名,武汉seo服务,springboot相册,网页设计中标签
的作用.,手机网站兼容性,java网页实时聊天,asp新闻发布网站模板,html5 css3 后台管理模板,制作一个登陆页面代码,cms管理系统是什么,晴天视频分享程序破解lzw
php 5.5.11的作用.,手机网站兼容性,java网页实时聊天,asp新闻发布网站模板,html5 css3 后台管理模板,制作一个登陆页面代码,cms管理系统是什么,晴天视频分享程序破解lzw
mac osx 10.9.2、win7、centOS 6.3
寻模板整站源码,ubuntu如何换中文,c爬虫 js函数,怎么php,开封seo品牌lzw
代码如下:echo preg_replace('/[\s-]+/', '-', '阿树')."\n";
测试结果如下:
Mac 乱码
windows、linux都正常
增加模式修正符后正常,如下:
echo preg_replace('/[\s-]+/u', '-', '阿树')."\n";
查找资料,是这么说的:
请问:
u的意思就是将匹配的字符当作utf8吗,还有其他作用吗
我的代码是utf8,但是为什么只有mac(Unix)会乱码呢?
回复内容:
情况如下:
php 5.5.11
mac osx 10.9.2、win7、centOS 6.3
代码如下:
echo preg_replace('/[\s-]+/', '-', '阿树')."\n";
测试结果如下:
Mac 乱码
windows、linux都正常
增加模式修正符后正常,如下:
echo preg_replace('/[\s-]+/u', '-', '阿树')."\n";
查找资料,是这么说的:
请问:
u的意思就是将匹配的字符当作utf8吗,还有其他作用吗
我的代码是utf8,但是为什么只有mac(Unix)会乱码呢?
树的utf8表示是e6 a0 91
。敏感的话看到这里就应该明白了。
第二个字节a0
和\n
是一样的,从而被替换成了-,剩下左右两边的两个字节变成非法ASCII,显示成问号了,至于平台差异性,估计是所谓PCRE的问题吧,有兴趣可以钻进去查查