编码转换函数iconv() / mb_convert_encoding()
-
string iconv(string $in_charset, string $out_charset, string $str)
-
说明:将字符串str从in_charset转换编码为out_charset;
-
参数:
-
in_charset:输入的字符集
-
out_charset:输出的字符集
如果你在out_charset后添加了字符串//TRANSLIT,将启用转写功能(当一个字符不恩能够被目标字符集所表示时,它可以通过一个或多个型似的字符来近似表达。)
如果你添加了字符串//IGNORE,不能以目标字符集表达的字符将被默默丢弃。
否则,str从第一个无效字符开始截断并导致一个E_NOTICE。
-
str:要转换的字符串
-
-
返回值:返回转换后的字符串,或者在失败时返回FALSE;
-
例子:
<?php
$text = "this is the Euro symbol '€'.";
echo 'Original : ', $text; //Original : This is the Euro symbol '€'.
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text); //TRANSLIT : This is the Euro symbol 'EUR'.
echo 'IGNORE : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text); //IGNORE : This is the Euro symbol ''.
echo 'Plain : ', iconv("UTF-8", "ISO-8859-1", $text);
// Plain: Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7 This is the Euro symbol '
-
-
string mb_convert_encoding(string $str, string $to_encoding [,mixed $from_encoding]
-
说明:将string类型str的字符编码从可选的from_encoding转换到to_encoding
-
参数:
-
str:要编码的string
-
to_encoding:str要转换成的编码类型
-
from_encoding:在转换前通过字符代码名称来指定。可以是一个array,也可以是逗号分隔的枚举列表。如果没有提供from_encoding,则会使用内部(internal)编码。
-
-
返回值:编码后的string;
-
案例:
//转换内部编码为SJIS
$str = mb_convert_encoding($str, "SJIS");
//将 EUC-JP 转换成 UTF-7
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");
//从 JIS, eucjp-win, sjis-win 中自动检测编码,并转换 str 到 UCS-2LE
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");
//"auto" 扩展成 "ASCII,JIS,UTF-8,EUC-JP,SJIS"
$str = mb_convert_encoding($str, "EUC-JP", "auto");
-