这样:<script type="text/javascript" src="../js/xx.js" charset="UTF-8"></script>
试试。

解决方案 »

  1.   

    jsp页面、js文件、request 要保持编码一致。
      

  2.   

    关键我js文件本身是gbk编码,要是设成charset="utf-8",这样反而会乱码
      

  3.   

    前台使用 window.encodeURI(window.encodeURI("str"));进行编码,然后后台再去解码,使用String cityParam = request.getParameter("city");//前台参数
    String city = "";
    try {
    city = java.net.URLDecoder.decode(cityParam,"UTF-8");//解码
    } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    }
      

  4.   


    其实这个问题我是解决了,我是这么解决的,String summary = new String(request.getParameter("summary").getBytes("iso8859_1"),"utf-8");但是我不理解的是,我其他html/js都是这样提交的,其他的功能却没有这个问题,而且我看到这是iso8859-1,这明显不对!,因为项目里面用filter做了编码处理.
    所以我怀疑是struts1校验form的问题,提交给form的时候,因为struts1肯定用request.getParameter()取过数据了,再次转发的时候又变成iso88569-1了,不知道我的怀疑对不对
      

  5.   


    其实这个问题我是解决了,我是这么解决的,String summary = new String(request.getParameter("summary").getBytes("iso8859_1"),"utf-8");但是我不理解的是,我其他html/js都是这样提交的,其他的功能却没有这个问题,而且我看到这是iso8859-1,这明显不对!,因为项目里面用filter做了编码处理.
    所以我怀疑是struts1校验form的问题,提交给form的时候,因为struts1肯定用request.getParameter()取过数据了,再次转发的时候又变成iso88569-1了,不知道我的怀疑对不对这个我也不太了解,我查了一下,struts提交表单时没有设置编码,默认是按照ISO-8859-1编码提交的
      

  6.   


    其实这个问题我是解决了,我是这么解决的,String summary = new String(request.getParameter("summary").getBytes("iso8859_1"),"utf-8");但是我不理解的是,我其他html/js都是这样提交的,其他的功能却没有这个问题,而且我看到这是iso8859-1,这明显不对!,因为项目里面用filter做了编码处理.
    所以我怀疑是struts1校验form的问题,提交给form的时候,因为struts1肯定用request.getParameter()取过数据了,再次转发的时候又变成iso88569-1了,不知道我的怀疑对不对这个我也不太了解,我查了一下,struts提交表单时没有设置编码,默认是按照ISO-8859-1编码提交的
    所以我怀疑这个问题可能是,struts1内部转发的时候没有经过项目里的filter,直接就转发过来了,但是tomcat是默认iso-8859-1的,可能问题出在这吧,但是我不确定,哪位大牛给我解释下.........