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

背景说明:
我本地开发环境是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下有什么设置不对么?

阅读 2.5k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题