Maison > développement back-end > tutoriel php > 为什么[u4e00-u9fa5]不能匹配中文

为什么[u4e00-u9fa5]不能匹配中文

WBOY
Libérer: 2016-06-23 14:04:41
original
2572 Les gens l'ont consulté

用php的preg_match()函数匹配中文的时候,
匹配规则这么写,

$rule ='/[\u4e00-\u9fa5]/';
Copier après la connexion

编译出错,说不知道\u,
该怎么办?
php怎么匹配utf-8编码的中文和gb2312编码的中文??


回复讨论(解决方案)

/[\x{4e00}-\x{9fa5}]/u
字符串需要unicode

gbk 和 utf-8是不一样的...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));
Copier après la connexion

输出结果是
array(1) { [0]=> string(3) "涓?" } 
页面编码是utf-8
为什么呢?

你的php文件自身是gbk编码
或者charset没有设为utf-8

你的php文件不是utf-8编码

哦,
确实是啊,
我用过的是notepad++
设置格式为utf-8,
结果匹配到的是乱码,
接了个header('Content-type:text/html;charset=utf-8');
就好了,
编辑器搞得是毛啊

谁让你要所谓“国际化”呢?
中国第一!gbk 无所不能

谁让你要所谓“国际化”呢?
中国第一!gbk 无所不能
版主批评的是

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal