JS
                var i = './c.php?' + Math.random();
                var j = "text=你好";
                open('POST', i, true);
       setRequestHeader("cache-control","no-cache"); 
                setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
                send(j);PHP
if(isset($_POST["text"]))
{
 $e = $_POST["text"];
}else
{
 $e ='';
}print_r($e);
我利用抓包软件看到post上来的数据就算你PHP页面时UTF8他post里面的都是gbk?
为什么会这样

解决方案 »

  1.   

    我不知道 如果浏览器是GBK那程序也应该自定引导为UTF8,如果不这样那人家GBK的那全部都乱码了?
      

  2.   

    JS
      var i = './c.php?' + Math.random();
      var j = "text=你好";
      open('POST', i, true);
    setRequestHeader("cache-control","no-cache");  
      setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
      send(j);PHP
    if(isset($_POST["text"]))
    {
     $e = $_POST["text"];
    }else
    {
     $e ='';
    }print_r($e);
    我利用抓包软件看到post上来的数据就算你PHP页面是UTF8他$_POST["text"]里面的都是gbk
    为什么会这样?修正一下问题...
      

  3.   

    字母我就不知道是不是GBK ,因为中文传上去UTF8还是GBK还清楚
      

  4.   

    有没人知道解决办法啊,不要escape()因为就算是escape() ISO-8859-1的图标符号也post不上来!