utf8和gb2312编码互转
程序员文章站
2022-05-22 17:33:57
...
有时遇到编码问题很头疼,从别的网站获取到的中文文本和本站的不同,结果出现乱码,下面的函数可以帮你解决
/******************************************** * * 函数名: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; } }