欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP5.2下preg_match 匹配中文问题?

程序员文章站 2022-04-19 21:09:36
...
背景说明:
我本地开发环境是5.5,实际运行环境是5.2(没得选择。。。)。

现在同一段正则匹配代码

preg_match("/^[A-Za-z0-9\x{4e00}-\x{9fa5}]+$/u",$name)

5.5可以正常使用,5.2不行。
大概测试了一下,好像是/u这个修饰符的问题。
查了一些资料,/u在linux 下的php4.X就支持了呃。

请问是5.2下有什么设置不对么?

回复内容:

背景说明:
我本地开发环境是5.5,实际运行环境是5.2(没得选择。。。)。

现在同一段正则匹配代码

preg_match("/^[A-Za-z0-9\x{4e00}-\x{9fa5}]+$/u",$name)

5.5可以正常使用,5.2不行。
大概测试了一下,好像是/u这个修饰符的问题。
查了一些资料,/u在linux 下的php4.X就支持了呃。

请问是5.2下有什么设置不对么?

应该不是版本或者语法问题,但是u模式是不能匹配GBK字符集的中文的,所以如果你确认当前网页使用的字符集的编码设置确定是utf-8的话我也想不出其它原因了。看看有没有更多高手吧。

相关标签: php