函数代码
<?php/*** 编码转换* @param string $data 需要转码的字符串* @param string $output 转换后的编码* @return string 转换后的字符串*/function array_iconv(string $data,string $output = 'utf-8') {$encode_arr = array('UTF-8','ASCII','GBK','GB2312','BIG5','JIS','eucjp-win','sjis-win','EUC-JP');$encoded = mb_detect_encoding($data,$encode_arr);//自动判断编码if ($encoded == 'UTF-8') {return $data;}return mb_convert_encoding($data, $output, $encoded);}
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。
