当前位置:Gxlcms > PHP教程 > 中文乱码-PHP如何匹配文本中是否含有乱码字符

中文乱码-PHP如何匹配文本中是否含有乱码字符

时间:2021-07-01 10:21:17 帮助过:11人阅读

网站经常有乱码用户名的提交,如何才可以通过PHP来判断文本中是否含有乱码?

php#UTF-8 
$str = '办证';
preg_match_all('/(...)/',$str,$matches);
print_r($matches);
die;
Array
(
    [0] => Array
        (
            [0] => 办
            [1] => 
            [2] => 证
        )

    [1] => Array
        (
            [0] => 办
            [1] => 
            [2] => 证
        )

)

回复内容:

网站经常有乱码用户名的提交,如何才可以通过PHP来判断文本中是否含有乱码?

php#UTF-8 
$str = '办证';
preg_match_all('/(...)/',$str,$matches);
print_r($matches);
die;
Array
(
    [0] => Array
        (
            [0] => 办
            [1] => 
            [2] => 证
        )

    [1] => Array
        (
            [0] => 办
            [1] => 
            [2] => 证
        )

)

这是你的前台和后台的编码不一致造成的,前台输入的时候就应该进行判断是否让用户输入非法字符。

以下补充内容:

php输出
echo iconv('GB2312', 'UTF-8', '匹配正确');
} else {
//同上
echo iconv('GB2312', 'UTF-8', '匹配错误');
}
?>

3个字的编码为\u529e\ue708\u8bc1,是utf-8,不知道有什么办法

一是前台输入的时候进行非法字符的判断和处理,这样可以避免输入性乱码;二是前台和后台的编码应该一致才会避免发生乱码的现象。

人气教程排行