PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

utf-8如何转成gb2312

原创
2016-06-23 14:17:03 1343浏览

cnt是一个utf-8编码的网页通过地址传过来的参数,
用iconv和mb_convert_encoding进行转换
$cnt=iconv("utf-8","gb2312//IGNORE",$_GET['cnt']);

$cnt=mb_convert_encoding($_GET['cnt'],"gb2312","utf-8");


但var_dump($cnt)显示的汉字却都变成了方框,请教该如何转换?


回复讨论(解决方案)

你的文件的编码什么格式?
如果是gb2312
加上:header("content-type:text/html;charset=gb2312");
然后var_dump()

我在头部加了一个


情况也是一样,显示还是方框

$cnt=iconv("utf-8","gb2312//IGNORE",$_GET['cnt']);

//$cnt=mb_convert_encoding($_GET['cnt'],"gb2312","utf-8");

用这两种方式显示的都是方块?
你的文件编码也是gb2312么。

我是新手,你说的文件编码是不是这个charset=gb2312?那就是gb2312

文件另存为 ANSI 格式

先确定传入的是什么
echo base64_encode($_GET['cnt']);
贴出结果,帮你分析一下

输出原始变量看下,看是否会有问题。

我是新手,你说的文件编码是不是这个charset=gb2312?那就是gb2312

哦,不是着这个,charset只是声明的编码,我说的实际的文件编码。很多IDE或者编辑器都可以看文件的编码的。比如,notepad++

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。