作者:学银先生_512 | 来源:互联网 | 2018-03-23 23:21
有时遇到编码问题很头疼,从别的网站获取到的中文文本和本站的不同,结果出现乱码,下面的函数可以帮你解决
/********************************************
*
* 函数名:get_utf8_to_gb($value)
* 作 用:utf8编码字符串转换成gb2312编码
* 作 者:liuqi
* 日 期:2017-02-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编码
* 作 者:liuqi
* 日 期:2017-02-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;
}
}