Home > Article > Backend Development > conversionpattern php conversion string encoding description of the difference between iconv and mb_convert_encoding
iconv — Convert string to requested character encoding(PHP 4 >= 4.0.5, PHP 5)
mb_convert_encoding — Convert character encoding(PHP 4 >= 4.0.6, PHP 5)
Usage:
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
You need to enable the mbstring extension library first, and remove the ; in front of; extension=php_mbstring.dll in php.ini
string iconv (string in_charset, string out_charset, string str)
Note:
No. Two parameters, in addition to specifying the encoding to be converted to, you can also add two suffixes: //TRANSLIT and //IGNORE,
Among them:
//TRANSLIT will automatically change characters that cannot be directly converted into one or more Approximate characters,
//IGNORE will ignore characters that cannot be converted, and the default effect is to truncate from the first illegal character.
Returns the converted string or FALSE on failure.
Use:
1. It is found that iconv will make an error when converting the character "-" to gb2312. Without the ignore parameter, all strings following this character cannot be saved. No matter what, these
"-" cannot be converted successfully and cannot be output. In addition, mb_convert_encoding does not have this bug.
2. mb_convert_encoding can specify multiple input encodings, which will be automatically identified based on the content, but the execution efficiency is much worse than iconv; such as: $str =
mb_convert_encoding($str,"euc-jp", "ASCII,JIS,EUC-JP,SJIS,UTF- 8"); There are also
differences in the effects of "ASCII,JIS,EUC-JP,SJIS,UTF-8" in different orders
3. Generally, iconv is used, only when Use the mb_convert_encoding function when you are unable to determine what the original encoding is, or the iconv cannot be displayed normally after conversion
.
from_encoding is specified by character code name before conversion. it can be array or string - comma separated
enumerated list. If it is not specified, the internal encoding will be used.
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");
$str = mb_convert_encoding($str, " EUC-JP', "auto");
Example:
$content = iconv("GBK", "UTF-8", $content);
$content = mb_convert_encoding($content, "UTF-8", "GBK ");
The above introduces the difference between conversionpattern php conversion string encoding iconv and mb_convert_encoding, including the content of conversionpattern. I hope it will be helpful to friends who are interested in PHP tutorials.