在struts里面接收javascript保存到数据库出现乱码 request.setCharacterEncoding("GBK");改了tomcat server.xml配置文件的URIEncoding="GBK"也不行 <Connector port="8080" protocol="HTTP/1.1" 
            connectionTimeout="20000" 
            redirectPort="8443" 
   URIEncoding="GBK"/>  不知道是不是要在JS里面设置下编码还是?   <script language="javascript" type="text/javascript">
        var tbody;
        var template;   //模板行
        var a = ['外殼','保護版','電芯','其他'];
        window.onload = function() {
            tbody = document.getElementById("selecttbody");
            template = document.getElementById("trTemplete");
            selectedchange();
        }
        function ClearRows() {
            var newBody = document.createElement("tbody");
            var tbl = document.getElementById("mytable4");
            tbl.replaceChild(newBody, tbody);
            tbody = newBody;
        }
        function NewRow() {
            //利用cloneNode(true)来复制
            //你的这行就算有100个td,每个td都有不同的样式,都一次搞定!!!
            var newRow = template.cloneNode(true);
            tbody.appendChild(newRow);
            return newRow;
        }
        function selectedchange() {
            var n = document.getElementById("dropChoicesCount").value;
            n = parseInt(n);
            ClearRows();
            for (var i = 0; i < n; i++) {
                var nr = NewRow();
                nr.cells[0].innerHTML =(i + 1);
                nr.cells[1].children[0].value=a[i];
                nr.cells[1].children[0].name="t1" + (i+1);
                nr.cells[2].children[0].name="t2" + (i+1);
                nr.cells[3].children[0].name="t3" + (i+1);
                nr.cells[4].children[0].name="t4" + (i+1);
                nr.cells[5].children[0].name="t5" + (i+1);
                nr.cells[6].children[0].name="t6" + (i+1);
                nr.cells[7].children[0].name="t7" + (i+1);
            }
        }
 </script>

解决方案 »

  1.   

    方法二:
    数据库设置文字支持.
    如果是mysql mysql:.ini(mysql安装目录下)配置文件的编码改成你所要的编码,同时建表的时候也要选编码。 还有就是页面的编码,总的来说就是全部编码一致。方法三:
    String a=new String(str.getbytes("iso-8859-1","gb2312")); 
      

  2.   

    1楼的utf8我也试了
    数据库不是mysql
     是 SQlserver
      

  3.   

    去掉 企业管理器->工具->选项->高级->“执行字符数据的转换” 和 
    查询分析器->工具->选项->连接->“执行字符数据的转换”  试试