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

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

程序员文章站 2022-06-10 15:46:30
...
网站经常有乱码用户名的提交,如何才可以通过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

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

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