
正文
php数据库匹配汉字 php查询数据库中文乱码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP preg_match 函数怎么匹配中文?
?php
//示例代码:
$str = 'hello 这里是php preg_match正则匹配演示';
// UTF8编码:正则表达式匹配中文;
if(preg_match('/[\x{4e00}-\x{9fa5}]+/u',$str)){
echo '匹配成功,有中文字符串!';
}else{
echo '没有中文字符串。';
}
// GB2312,GBK编码:正则表达式匹配中文;
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)){
echo '匹配成功,有中文字符串!';
}else{
echo '没有中文字符串。';
}
?
相关问答
Q1: php怎么将中文利用正则表达式匹配出来
正则匹配中文汉字根据页面编码不同而略有区别:
GBK/GB2312编码:[x80-xff]+ 或 [xa1-xff]+
UTF-8编码:[x{4e00}-x{9fa5}]+/u
$str = "账单123";
//GBK/GB2312使用:
preg_match_all("/[\x80-\xff]+/", $str, $chinese);
//UTF-8 使用:
//preg_match_all("/[\x{4e00}-\x{9fa5}]+/u", $str, $chinese);
print_r($chinese);
阁下所说的乱码应该就是编码没弄对了
Q2: PHP正则表达式中怎么匹配汉字啊 - 技术问答
匹配中文字符的正则表达式:
[\\u4e00-\\u9fa5]匹配双字节字符(包括汉字在内):[^\\x00-\\xff]应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)String.prototype.len=function(){return
this.replace([^\\x00-\\xff]/g,\"aa\").length;}匹配空行的正则表达式:\\n[\\s|
]*\\r匹配HTML标记的正则表达式:/.*|/匹配首尾空格的正则表达式:(^\\s*)|(\\s*$)
Q3: php正则匹配中文乱码问题
当然乱码啦,一个汉字在php里是三个字符,你这样直接用.去匹配任意字符的话,三个.才等于一个汉字。你把一个汉字给截取掉了,当然乱码了,不信你把你的0,10改成0,11。就不乱码的,而且只匹配出两个汉字。汉字不是这样去匹配的,有专门匹配汉字的正则,
关于php数据库匹配汉字和php查询数据库中文乱码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







