Heim > Artikel > Backend-Entwicklung > PHP5.2下preg_match 匹配中文问题?
背景说明:
我本地开发环境是5.5,实际运行环境是5.2(没得选择。。。)。
现在同一段正则匹配代码
<code>preg_match("/^[A-Za-z0-9\x{4e00}-\x{9fa5}]+$/u",$name)</code>
5.5可以正常使用,5.2不行。
大概测试了一下,好像是/u这个修饰符的问题。
查了一些资料,/u在linux 下的php4.X就支持了呃。
请问是5.2下有什么设置不对么?
背景说明:
我本地开发环境是5.5,实际运行环境是5.2(没得选择。。。)。
现在同一段正则匹配代码
<code>preg_match("/^[A-Za-z0-9\x{4e00}-\x{9fa5}]+$/u",$name)</code>
5.5可以正常使用,5.2不行。
大概测试了一下,好像是/u这个修饰符的问题。
查了一些资料,/u在linux 下的php4.X就支持了呃。
请问是5.2下有什么设置不对么?
应该不是版本或者语法问题,但是u模式是不能匹配GBK字符集的中文的,所以如果你确认当前网页使用的字符集的编码设置确定是utf-8的话我也想不出其它原因了。看看有没有更多高手吧。