zl程序教程

您现在的位置是:首页 >  后端

当前栏目

PHP学习笔记之字符串编码的转换和判断

PHP转换编码笔记学习 字符串 判断
2023-06-13 09:15:27 时间

复制代码代码如下:


iconv("GBK","UTF-8//IGNORE","脚本之家");//将字符串由GBK编码转换为UTF-8编码

但iconv只能解决编码预先知道的情况,如果字符串编码未知,则需要先探测其编码,这时可能会用到mb_string扩展库:

复制代码代码如下:


mb_detect_encoding("脚本之家");

可是mb_detect_encoding存在一个硬伤,经常出现判断不准确的情况。或许这样就可以解决:

复制代码代码如下:
//使用iconv转换并判断是否等值,效率不高
functionis_utf8($str){
   if($str===iconv("UTF-8","UTF-8//IGNORE",$str)){
       return"UTF-8";
   }
}
//多种编码的情况
functiondetect_encoding($str){
   foreach(array("GBK","UTF-8")as$v){
       if($str===iconv($v,$v."//IGNORE",$str)){
           return$v;
       }
   }
}

通过以上方式得到字符串编码信息后,就可以利用iconv或mb_convert_encoding来转换编码了。