Perfect 2 php detection strings are shared by utf 8 encoding functions

  • 2021-07-10 19:02:09
  • OfStack

Transcoding functions are sometimes used in php development, such as iconv (), mb_convert_encoding () functions. When using functions to transcode or decode, we sometimes need to judge the current string coding type first, rather than whether it is utf-8 coding, and then carry out coding conversion and other operations. The following is the site collation of the current web development network usage is relatively high, good php on UTF-8 coding judgment function, code as follows:


function is_utf8($string) // Function 1
{
// From http://w3.org/International/questions/qa-forms-utf-8.html
return preg_match( ' %^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs', $string);
}

function mb_is_utf8($string) // Function 2
{
return mb_detect_encoding($string,  ' UTF-8 ' ) ===  ' UTF-8 ' ;
}

mb_detect_encoding () function is a built-in function of php, used to judge the current string encoding type, this function has 3 parameters, the first parameter is to judge the string, the second parameter is a comparative character encoding list, can make string, can also be an array, the third parameter is required.
Hopefully, these two functions will help you with the Phper you need.


Related articles: