返回顶部

收藏

utf8和gb2312编码互转

更多

有时遇到编码问题很头疼,从别的网站获取到的中文文本和本站的不同,结果出现乱码,下面的函数可以帮你解决

[PHP]代码

/********************************************
  *
  * 函数名:get_utf8_to_gb($value)
  * 作  用:utf8编码字符串转换成gb2312编码
  * 作  者:刘先忠
  * 日  期:2011-11-09 
  *
  ********************************************/

function   get_utf8_to_gb($value){
  $value_1= $value;
  $value_2   =   @iconv( "utf-8", "gb2312//IGNORE",$value_1);//使用@抵制错误,可能会有一个问题,如果转换字符串中,某一个字符在目标字符集里没有对应字符,那么,这个字符之后的部分就被忽略掉了;也就是说,结果字符串内容不完整。解决办法就是使用//IGNORE 
  $value_3   =   @iconv( "gb2312", "utf-8//IGNORE",$value_2);

 if   (strlen($value_1)   ==   strlen($value_3))
  {
   return   $value_2;
  }else
  {
   return   $value_1;
  }
 }
 /********************************************
  *
  * 函数名:get_gb_to_utf8($value)
  * 作  用:gb2312编码字符串转换成utf8编码
  * 作  者:刘先忠
  * 日  期:2011-11-09 
  *
  ********************************************/
 function   get_gb_to_utf8($value){
  $value_1= $value;
  $value_2   =   @iconv( "gb2312", "utf-8//IGNORE",$value_1);
  $value_3   =   @iconv( "utf-8", "gb2312//IGNORE",$value_2);
  if   (strlen($value_1)   ==   strlen($value_3))
  {
   return   $value_2;
  }else
  {
   return   $value_1;
  }
 }

标签:UTF-8,GB2312

收藏

0人收藏

支持

0

反对

0