函数代码

  1. <?php
  2. /**
  3. * 编码转换
  4. * @param string $data 需要转码的字符串
  5. * @param string $output 转换后的编码
  6. * @return string 转换后的字符串
  7. */
  8. function array_iconv(string $data,string $output = 'utf-8') {
  9. $encode_arr = array('UTF-8','ASCII','GBK','GB2312','BIG5','JIS','eucjp-win','sjis-win','EUC-JP');
  10. $encoded = mb_detect_encoding($data,$encode_arr);//自动判断编码
  11. if ($encoded == 'UTF-8') {
  12. return $data;
  13. }
  14. return mb_convert_encoding($data, $output, $encoded);
  15. }

mb_detect_encoding()

mb_detect_encoding — 检测字符的编码

mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] ) : string

参数

  • str

待检查的字符串。

  • encoding_list

encoding_list 是一个字符编码列表。 编码顺序可以由数组或者逗号分隔的列表字符串指定。
如果省略了 encoding_list 将会使用 detect_order。

  • strict

strict 指定了是否严格地检测编码。 默认是 FALSE。

返回值

检测到的字符编码,或者无法检测指定字符串的编码时返回 FALSE。

mb_convert_encoding()

mb_convert_encoding — 转换字符的编码

mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] ) : string

参数

  • str

要编码的 string。

  • to_encoding

str 要转换成的编码类型。

  • from_encoding

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

返回值

编码后的 string。