2 java 0 day java_0_day 于 2016.01.30 22:41 提问

jsp网页中的js 显示中文乱码,在MyEclipse 里面显示的正常

index.jsp 页面 调用 外面的 .js 文件 中文显示乱码,看了好多都说是 网页编码 不一致造成的

<script type="text/javascript" src="webstyle/js/script.js" charset="GB2312"></script>

但是 我在Index.jsp页面调用的时候 加上 charset="GB2312" 了,这样做还是不可以,网页的编码都统一设置的 UTF-8, 另外 我是通过过滤器 设置网页请求编码的
代码如下


        HttpServletRequest servletRequest = (HttpServletRequest) request;
        response.setContentType("text/html;charset=utf-8");
        // 获得用户请求的URI
        String path = servletRequest.getRequestURI();
        if (path.indexOf("script.js") > -1) {//用户请求js文件时
            request.setCharacterEncoding("GB2312");
            System.out.println("设置了 js的编码");
            chain.doFilter(request, response);
            return;
        } else {
            // 设置编码方式
            request.setCharacterEncoding("utf-8");
            chain.doFilter(request, response);
            return;
        }

问下是不是过滤器的原因,导致现在 网页中的 js特效提示框 中文都乱码,该如何解决

6个回答

u012985688
u012985688   2016.02.02 11:12
已采纳

新建一个文本文件,把js文件copy一份到记事本,另存为utf-8编码格式的js,然后去换掉原来的js文件试试

caozhy
caozhy   Ds   Rxr 2016.01.31 00:10

charset="GB2312" 了
UTF-8
这两者本来就是矛盾的

request.setCharacterEncoding("GB2312");这里应该也用UTF8

java_0_day
java_0_day 回复caozhy: 我是不是不让js文件通过过滤器就好了
2 年多之前 回复
java_0_day
java_0_day   2016.02.21 19:38

谢谢大家,已经解决了,原因就是新建的js文件结构就不是UTF-8,只要统一就好了。

loveuserzzz
loveuserzzz   2016.01.31 08:28

无论哪种编码,统一就好

java_0_day
java_0_day 回复loveuserzzz: 不能统一啊,js文件只能用GB2312或者GBK吧,其他的都乱码
2 年多之前 回复
showbo
showbo   Ds   Rxr 2016.01.31 11:52

依据你js文件存储编码来决定,如果js是ansi,对应charset=gb2312,utf-8则是charset=utf-8

如果jsp meta的charset和上面一致,script不需要添加charset属性,如果不一样需要添加charset制定js文件编码防止乱码,如jsp meta utf-8,js存储为ansi,需要给script指定charset="gb2312"

u014229472
u014229472   2016.01.31 23:00

浏览器也有编码 你设置的什么啊

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MyEclipse的jsp页面preview显示问题
开发工具MyEclipse jsp文件preview显示问题: 一个jsp页面在myeclipse左下角有这三个选项(如果没有请参看https://zhidao.baidu.com/question/561075964.html),但是有时如果jsp编写有不合理的地方,会出现点击Preview没法显示的问题。这里提供一种解决办法。 在jsp页面的标签体内加入这句话。同时要注意这句
在myeclipse中的jsp里引入html,浏览器界面显示乱码的解决办法
用方式在jsp界面引入html,浏览器显示乱码,文件的编码方式都已经改为utf-8了,但还是不起作用。看了这篇博客http://m.blog.csdn.net/article/details?id=51707061里面的方法2完美解决了问题, 方法二:在web.xml里统一配置pageEncoding的编码,在web-app标签里添加如下配置: html encodi
使用MyEclipse编写Html5代码,在浏览器中打开乱码问题
我使用的是MyEclipse10工具,新建了一个html5文件,编写代码如下:login.htm 登陆页面 --> --> 登陆操作 用户登陆 登陆ID: 登陆密码:
JS文件中的中文在网页上显示为乱码解决方法
这个问题解决了好久用eclipse改了所有的格式为utf-8都没用,最后网上找资料才发现,你要通过notepad,打开如下图将格式改为utf-8保存再放进去引用就ok了
MyEclipse中解决jsp页面中文乱码
编码设置:  全局编码设置:编码设置的方法:ToolBar-->Window-->Preferences-->General-->Workspace-->Text file encoding,设置合适的编码。  局部编码设置:在源码按右键-->General-->Editors-->Test Editors-->Spelling-->Encoding,这里是设置单个文件的编码。  推荐使
myeclipse中jsp的preview中文乱码完美解决方案
myeclipse中jsp的preview中文乱码
在jsp中引入js文件,js文件中在网页显示的汉字乱码
解决办法: 1.jsp页面中加 XML/HTML code ? 1 2.调用js时如下 XML/HTML code ? 1 script type="text/javascript" src="js/test.js" charse
MyEclipse html preview 中文乱码解决方法
1.右键-编码-utf-8 2.html 加入 utf-8 声明
JS中的中文在jsp页面中乱码的解决方法
messages: {                     username: {                         required: "用户名不能为空."                     },                     password: {                         required: "密码不能为空."       
myeclipse jsp editor打开jsp的中文乱码解决方案
最近自己在练习一个网上商城的项目,从网上拽了一个商城首页,想用在自己的商城中,但是添加到myeclipse中时,用myeclipse jsp editor打开时,中文变成了乱码,如图 然后我用了接下来的几个方法: 方法一:在jsp页面中添加代码: 方法二:在window--->preferences--->general--->content types--->tex