php cp936乱码的解决办法:1、打开相应的PHP文件;2、查找“mb_convert_encoding($str, 'UTF-8', 'CP936');”代码;3、使用“iconv('utf-8', 'latin1//IGNORE', $str);”方法进行转码即可。

本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。

php cp936 乱码怎么办?

php cp936转utf8中文编码转换汉字乱码问题的解决方案

问题描述:

今天遇到个问题,

中文字符串 如 ??°??£è???¥¢?

¨é??

需要转换为 UTF8,就调用了PHP的函数,

mb_convert_encoding($str, 'UTF-8', 'CP936');

转换后的结果却是:

氓聬聨莽聨掳盲禄拢猫陆禄氓楼垄氓聟篓茅聯聹氓聬聤莽聛炉

实际需要的结果是:

后现代轻奢全铜吊灯

遇到这一问题,百度了一下,发现没找到解决方法

最好自己尝试,解决了,记录分享给有需要的你,防止再次走坑!

解决方法如下:

使用 iconv('utf-8', 'latin1//IGNORE', $str);

附:

function toUtf8($str) {
$encode = mb_detect_encoding($str, array('CP936', "ASCII","GB2312","GBK",'UTF-8','BIG5'));
if ($encode == 'UTF-8') {
return $str;
} elseif ($encode == 'CP936') {
return iconv('utf-8', 'latin1//IGNORE', $str);
} else {
return mb_convert_encoding($str, 'UTF-8', $encode);
}
}


php cp936 乱码怎么办