<?php
header("Content-Type:text/html;charset=UTF-8");
$abc=$_GET["abc"];
echo $abc;
?>
<a href="2.php?abc=<?=urlencode($abc)?>">链接 </a>abc的值 中文 无法正确显示
除非是把header("Content-Type:text/html;charset=UTF-8");变成 gb2312编码形式才能正确显示。如何让编码形式是utf8 而且还能正确显示。

解决方案 »

  1.   

    说明你输入的汉字是用的gb2312编码。一般用写字板 记事本写的都是这种格式。
    可以试试用UEstudio输入汉字试试
      

  2.   

    get出来的值就是gb2312的,我也不知道怎么弄
      

  3.   

    我所有的存储格式都是 utf-8的。而且还有一种怪现像就是你用表单进行get提交的时候  ,可以正常显示。
    而且显示的值你再一次进行 超链接。也正常。但你把这个地址copy之后,在直接贴在地址栏上,就不行了。妈的。真是奇了怪了。
      

  4.   

    你在那个PHP文件搞个头标,不用缓存,然后把所有的PHP文件改为UTF-8编码的(文件源代码,在记事本把它转换掉),定义头标为UTF-8,改掉Apache的默认编码为UTF-8,数据库编码也设置为UTF-8,那么就应该没有问题的,绝对互相兼容,呵呵