分享

PHP编码转换和PHP编码判断

 gearss 2016-05-28
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

  1. function getSafeStr($str){  
  2.     $s1 = iconv('utf-8','gbk',$str);  
  3.     $s0 = iconv('gbk','utf-8',$s1);  
  4.     if($s0 == $str){  
  5.         return $s1;  
  6.     }else{  
  7.         return $str;  
  8.     }  
  9. }  

2、无论字符串编码是什么,均转换为utf-8
  1. function getSafeStr($str){  
  2.     $s1 = iconv('gbk','utf-8',$str);  
  3.     $s0 = iconv('utf-8','gbk',$s1);  
  4.     if($s0 == $str){  
  5.         return $s1;  
  6.     }else{  
  7.         return $str;  
  8.     }  
  9. }  

获取字符串编码方法:

  1. function getcode($str)  
  2. {  
  3.     $s1 = iconv('utf-8','gbk',$str);  
  4.     $s0 = iconv('gbk','utf-8',$s1);  
  5.     if($s0 == $str){  
  6.         return 'utf-8';  
  7.     }else{  
  8.         return 'gbk';  
  9.     }  
  10. }  



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多