jsp添加filter过滤器,网页加载js文件时,中文显示乱码

现象分析

      这两天,在用eclipse,写jsp网页,添加了个filter过滤器,出现一堆问题,最近的一个是网页加载js,以及别的css等带中文的文件时,中文显示乱码。这个乱码是js中的内容,包括注释等,中文都成了乱码。比较奇怪的是,页面显示中,除了js或者css等需要加载的内容,jsp页面上的原本的内容不受影响。
      如果把filter去掉,则一切正常的。

解决思路

      我尝试了多种方法,总结起来可以大概为以下几个思路:
1、在filter过滤器中,用setCharacterEncoding把所有经过filter的内容都进行重新编码。
2、将js的内容复制出来一份,比如复制为一个txt文件,以utf-8的方式另存为。
3、在jsp页面中引入的时候,指定编码方式,比如charset=utf-8。
4、也有可能是tomcat服务器的编码问题,那就修改tomcat服务器下server.xml文件中的内容,添加内容,URIEncoding=“UTF-8”。
      还有很多网上提供的零零散散的方案,总而言之,就是为了统一编码方式。然而,都没解决我的问题。

解决方法

      后来,经人提醒,去把eclipse中,Window–》Preferences–》General–》Workspace下,面板Text file encoding 选择UTF-8,这改了以后,我才突然意识到,我的java文件的编码方式,全都是GBK的。
      抱着试一试的想法,我把所有的java文件的编码方式改成了UTF-8,问题解决。

经验总结

      出现这个问题,最大的原因还是自己事先eclipse的设置没有特别注意,没有修改全局的默认编码方式为UTF-8,导致创建的java文件全是GBK方式编码。
      在使用Eclipse时,尤其时初学者或者重新安装eclipse时,一定要注意eclipse的全局编码方式。
      Window–》Preferences–》General–》Workspace下,面板Text file encoding 选择UTF-8,或者别的按您的需求的编码方式!确保java文件、jsp文件、js文件、css文件等的所有编码方式的统一!
      重要的话多说一遍,编码方式的统一很重要!

发布了45 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/baidu_31788709/article/details/101101178
今日推荐