<form action="a.aspx" method="get" enctype="multipart/form-data" name="formgd" target="_blank" id="formgd" onsubmit="var formcx = document.charset;document.charset='gb2312';"> 
<select id="sName" onchange="document.getElementById('colName').name =this.value">
    <option value="title">题  名</option>
    <option value="auther">责任者</option>
    <option value="publish">出版者</option>
</select>
    <input name="title" type="text" id="colName"/>
    <input type="submit" value="查 询" />
</form>页面是GB2312编码,表单提交后,页面编码变成UTF-8,出现乱码,求解!!!急急急!!!

解决方案 »

  1.   

    那你就把编码换成同一种啊,并且method="get"换成用post提交试下,get方式的提交容易乱码
      

  2.   


    不行啊,页面编码不能改,提交的表单必须是UTF-8才能返回正常值
      

  3.   

    不是太明白你的意思,charset='gb2312'换成UTF-8;method="get"换成用post提交;不然就进行拆分重组,把得到的gb2312编码转换成UTF-8吧:sTemp = new String(sTemp.getBytes("gb2312"), "UTF-8"); 
      

  4.   


    accept-charset="gb2312"加上这属性 试试 。
      

  5.   

    把你这个表单页编码换成UTF-8不可以吗?
    先把页面换成UTF-8编码,然后用记事本打开,另存为utf-8
      

  6.   


    页面不能改成UTF-8,只能GB2312
      

  7.   

    1.把表单页改成utf-8并且保存为utf-8无bom格式
    2.接收的asp用gb2312处理,输出header为gb2312,自身以ansi保存
    任选其一
      

  8.   

    关键是你提交的页面a.aspx,在a.aspx的后台代码里设定编码