Home  >  Article  >  Backend Development  >  Several common methods for PHP string encoding conversion_PHP tutorial

Several common methods for PHP string encoding conversion_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:54:58840browse

php tutorial several common methods of string encoding conversion

mb_convert_encoding()
PHP internal code conversion function
Version (PHP 4 >= 4.0.6, PHP 5)
This function can convert various encodings to each other

Make a GBK To UTF-8
< ?php
header("content-Type: text/html; charset=Utf-8");
echo mb_convert_encoding("You are my friend", "UTF-8", "GBK");
?>

Another GB2312 To Big5
< ?php
header("content-Type: text/html; charset=big5");
echo mb_convert_encoding("You are my friend", "big5", "GB2312");
?>


iconv()
PHP internal code conversion function, same as above
Because iconv() has a bug when converting gb2312, it needs to be handled like this

PHP codeiconv( "UTF-8", "gb2312//IGNORE" , $str)

ignore means to ignore errors during conversion. It is found that iconv will make an error when converting the character "—" to gb2312. If there is no

ignore parameter, all strings following this character cannot be saved.
In addition, mb_convert_encoding does not have this bug, so the best way to write it is:
PHP codemb_convert_encoding($str,"gb2312", "UTF-8");

But you need to enable the mbstring extension library first.
You can also set the collation of the mysql tutorial database tutorial to utf-8 and it will not be used for conversion
Three mysql mantras
SQL code
SET NAMES utf8;
SET CHARACTER SET utf8;
SET COLLATION_CONNECTION='utf8_general_ci';


Custom function 1
-------------------------------------------------- ----------------------------------

---
I found the conversion function on the Internet to convert GB2312. After modifying it to utf-8, the conversion error occurred and the Chinese could not be parsed... Looking forward to it

The madman...
PHP code function escape($str) {
Preg_match_all("/[x80-xff].|[x01-x7f]+/",$str,$r);
          $ar = $r[0];
foreach($ar as $k=>$v) {
If(ord($v[0]) < 128)
$ar[$k] = rawurlencode($v);
                 else
$ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v));
                                                                                                              return join("",$ar);
}

function unescape($str) {

​​​​ $str = rawurldecode($str);
Preg_match_all("/(?:%u.{4})|.+/",$str,$r);
        $ar = $r[0];
foreach($ar as $k=>$v) {
If(substr($v,0,2) == "%u" && strlen($v) == 6)
                 $ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4)));
                 }
         return join("",$ar);
}
?>

Custom function 2
-------------------------------------------------- ----------------------------------

---

Thanks to forum gingzai777, experts are different, they can see the problem at a glance....
In the future, you can use this line for PHP filtering, and you don’t need to worry about file encoding.....
PHP code function addslashes_str($str){
$str=addslashes($str);
$str=str_replace($str,";",';');
return $str;
}
function strips tutorial lashes_str($str){
$str=stripslashes($str);
$str=str_replace($str,';',";");
return $str;
}
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632291.htmlTechArticlephp tutorial several common methods of string encoding conversion mb_convert_encoding() PHP internal code conversion function version (PHP 4 = 4.0.6, PHP 5) This function can convert various encodings to each other to make a...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn