匹配规则这么写,
$rule ='/[\u4e00-\u9fa5]/';
编译出错,说不知道\u,
该怎么办?
php怎么匹配utf-8编码的中文和gb2312编码的中文??
9 个解决方案
#1
/[\x{4e00}-\x{9fa5}]/u
字符串需要unicode
字符串需要unicode
#2
gbk 和 utf-8是不一样的...utf-8很轻松的就可以匹配了...
#3
测试了一下,
匹配出来时乱码。
输出结果是
array(1) { [0]=> string(3) "涓�" }
页面编码是utf-8
为什么呢?
匹配出来时乱码。
function pregCh($test){
$rule ='/[\x{4e00}-\x{9fa5}]/u';
preg_match($rule,$test,$result);
return $result;
}
$test ='asfasdhs中afhajs90中文8327849023';
var_dump(pregCh($test));
输出结果是
array(1) { [0]=> string(3) "涓�" }
页面编码是utf-8
为什么呢?
#4
你的php文件自身是gbk编码
或者charset没有设为utf-8
或者charset没有设为utf-8
#5
你的php文件不是utf-8编码
#6
#7
哦,
确实是啊,
我用过的是notepad++
设置格式为utf-8,
结果匹配到的是乱码,
接了个header('Content-type:text/html;charset=utf-8');
就好了,
编辑器搞得是毛啊
确实是啊,
我用过的是notepad++
设置格式为utf-8,
结果匹配到的是乱码,
接了个header('Content-type:text/html;charset=utf-8');
就好了,
编辑器搞得是毛啊
#8
谁让你要所谓“国际化”呢?
中国第一!gbk 无所不能
中国第一!gbk 无所不能
#9
版主批评的是
#1
/[\x{4e00}-\x{9fa5}]/u
字符串需要unicode
字符串需要unicode
#2
gbk 和 utf-8是不一样的...utf-8很轻松的就可以匹配了...
#3
测试了一下,
匹配出来时乱码。
输出结果是
array(1) { [0]=> string(3) "涓�" }
页面编码是utf-8
为什么呢?
匹配出来时乱码。
function pregCh($test){
$rule ='/[\x{4e00}-\x{9fa5}]/u';
preg_match($rule,$test,$result);
return $result;
}
$test ='asfasdhs中afhajs90中文8327849023';
var_dump(pregCh($test));
输出结果是
array(1) { [0]=> string(3) "涓�" }
页面编码是utf-8
为什么呢?
#4
你的php文件自身是gbk编码
或者charset没有设为utf-8
或者charset没有设为utf-8
#5
你的php文件不是utf-8编码
#6
#7
哦,
确实是啊,
我用过的是notepad++
设置格式为utf-8,
结果匹配到的是乱码,
接了个header('Content-type:text/html;charset=utf-8');
就好了,
编辑器搞得是毛啊
确实是啊,
我用过的是notepad++
设置格式为utf-8,
结果匹配到的是乱码,
接了个header('Content-type:text/html;charset=utf-8');
就好了,
编辑器搞得是毛啊
#8
谁让你要所谓“国际化”呢?
中国第一!gbk 无所不能
中国第一!gbk 无所不能
#9
版主批评的是