编码转换函数iconv() / mb_convert_encoding()

分类: 开发语言 > PHP

编码转换函数iconv() / mb_convert_encoding()

  1. string iconv(string $in_charset, string $out_charset, string $str)

    1. 说明:将字符串str从in_charset转换编码为out_charset;

    2. 参数:

      1. in_charset:输入的字符集

      2. out_charset:输出的字符集

        如果你在out_charset后添加了字符串//TRANSLIT,将启用转写功能(当一个字符不恩能够被目标字符集所表示时,它可以通过一个或多个型似的字符来近似表达。)

        如果你添加了字符串//IGNORE,不能以目标字符集表达的字符将被默默丢弃。

        否则,str从第一个无效字符开始截断并导致一个E_NOTICE。

      3. str:要转换的字符串

    3. 返回值:返回转换后的字符串,或者在失败时返回FALSE;

    4. 例子:

      <?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 '

  2. string mb_convert_encoding(string $str, string $to_encoding [,mixed $from_encoding]

    1. 说明:将string类型str的字符编码从可选的from_encoding转换到to_encoding

    2. 参数:

      1. str:要编码的string

      2. to_encoding:str要转换成的编码类型

      3. from_encoding:在转换前通过字符代码名称来指定。可以是一个array,也可以是逗号分隔的枚举列表。如果没有提供from_encoding,则会使用内部(internal)编码。

    3. 返回值:编码后的string;

    4. 案例:

      //转换内部编码为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");

来源:原创 发布时间:2020-04-17 20:12:05