iconv详解:
iconv — 字符串按要求的字符编码来转换
string iconv ( string $in_charset , string $out_charset , string $str )
将字符串 str 从 in_charset 转换编码到 out_charset。
参数说明:
in_charset 输入的字符集。
out_charset 输出的字符集。
如果你在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。 如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。 否则,str 从第一个无效字符开始截断并导致一个 E_NOTICE。
str 要转换的字符串。
返回值
返回转换后的字符串, 或者在失败时返回 FALSE。
字符串编码未知的情况下对字符串进行编码:
1、无论字符串编码是什么,均转换为gbk
- function getSafeStr($str){
- $s1 = iconv('utf-8','gbk',$str);
- $s0 = iconv('gbk','utf-8',$s1);
- if($s0 == $str){
- return $s1;
- }else{
- return $str;
- }
- }
2、无论字符串编码是什么,均转换为utf-8
- function getSafeStr($str){
- $s1 = iconv('gbk','utf-8',$str);
- $s0 = iconv('utf-8','gbk',$s1);
- if($s0 == $str){
- return $s1;
- }else{
- return $str;
- }
- }
获取字符串编码方法:
- function getcode($str)
- {
- $s1 = iconv('utf-8','gbk',$str);
- $s0 = iconv('gbk','utf-8',$s1);
- if($s0 == $str){
- return 'utf-8';
- }else{
- return 'gbk';
- }
- }
|