最近在在项目中要开发一个发布系统,用来发布新闻等。页面上用了fck编辑器,
在页面上提交发布的内容,先前是默认的get提交,一直没有出现乱码,因为内容比较多,必须采用post提交,
但是一直出现了乱码。我的页面设置的全是utf-8
而且在BaseAction 里面
/**
* 获得客户端参数值,返回值已经经过了转码。
*/
protected String getParam(String name){
String tmp = getRequest().getParameter(name);
if(log.isDebugEnabled()){
log.debug("request.getParamter: " + name + " = " + tmp);
}
if(tmp==null || "".equals(tmp)){
return null;
}else{
try {
String result = URLDecoder.decode(tmp, GlobalConstant.SYSTEM_ENCODING);
return result;
} catch (UnsupportedEncodingException e) {
log.error("getParam()", e);
return tmp;
}
}
}
都做了处理,定义的那个常量也是utf-8. 在网上查了查乱码的几种解决方案,
决定像先前的那样 弄个过滤器,于是采用了
spring 内置的过滤器 在web.xml 添加如下代码
<filter>
<filter-name>springEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>springEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
貌似还是不很凑效,乱码一直存在。继续找乱码的原理,get 和 post 的传递方式的不一样,等等 于是把
更改 D:\Tomcat\conf\server.xml,指定浏览器的编码格式为“简体中文”:
方法是找到 server.xml 中的
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='utf-8' />
改了,但是 还没有效果,
无奈只好自己写了个过滤器,还是不行,,把网上各位大侠的解决方法都用了遍,就感觉纳闷了,一个小小的乱码问题竟然困扰了好几天,在action里面 进行 设置,
getRequest().setCharacterEncoding("utf-8");
还是不行,简直疯掉了,难道真的是人品问题,开始怀疑自己了。
最终 找的了 百度hi 上一牛人的解决方法
struts2.1.6版本中存在一个Bug,即接收到的中文请求参数为乱码(以post方式提交),原因是struts2.1.6在获取并使用了请求参数后才调用 HttpServletRequest的setCharacterEncoding()方法进行编码设置,导致应用使用的就是乱码请求参数。这个bug在struts2.1.8中已经被解决,如果你使用的是struts2.1.6,要解决这个问题,你可以这样做:新建一个Filter,把这个Filter放置在Struts2的Filter之前,然后在doFilter()方法里添加以下代码
public void doFilter(...){
HttpServletRequest req = (HttpServletRequest) request;
req.setCharacterEncoding("UTF-8");//应根据你使用的编码替换UTF-8
filterchain.doFilter(request, response);
}
哎 仔细一看 ,我就是用的这个,我把web.xml
<filter>
<filter-name>springEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>springEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
放在 struts2 的过滤器前面 (先前的字符过滤器是放在Struts2的Filter之后的),web.xml 是按照顺序加载的,所以就出现了问题。
,一切 ok, 哎 好烦人的这个乱码问题终于解决掉了。。
分享到:
相关推荐
大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着大家,现把JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考。
大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考。 一、JSP页面显示乱码 二、表单提交中文时出现乱码 三、数据库连接时...
页面显示乱码问题在一个网站中,有些页面会正常显示,然而,有些页面会显示成乱码。如果发生这种情况,可以检查一下web.config和文件编码。如果web.config是这样... 经常发现有人被乱码困扰着,而我感觉比较幸运,很...
解决ubuntu下文件中中文乱码问题,解决大家在ubuntu下不能查看中文文档的困扰,让大家很好地使用ubuntu系统完成日常所有所需工作
花了很长时间去解决spire水印问题,并且在某些软件生成的pdf在转化为图片时,会出现乱码问题,这个很困扰,于是查找了好多方法,还是觉得spire好用点,终于让我找到破解的了,很好用!
乱码问题一直都是困扰中国程序员的一只拦路虎 这些资料教您如何解决它,包括java,jsp,ajax
在进行web应用程序开发的过程中,中文问题经常困扰着很多程序员。因此,在接下来的两个课程的学习中,我将根据实践经验来谈一下web应用中的中文问题的解决方法。让大家不再为此而头痛。
曾几何时 Python 中文乱码的问题困扰了我很多很多年,每次出现中文乱码都要去网上搜索答案,虽然解决了当时遇到的问题但下次出现乱码的时候又会懵逼,究其原因还是知其然不知其所以然。现在有的小伙伴为了躲避中文...
Jsp传递参数时出现乱码的详细解决方案,适合被乱码困扰的朋友。
在一个网站中,有些页面会正常显示,然而,有些页面会显示成乱码。 如果发生这种情况,可以检查一下web.config和文件编码。 如果web.config是这样配置的: 而文件的编码不是UTF-8: 那么就会有乱码问题。 注意:...
windows控制台乱码问题处理。一键解决乱码,繁体字等问题得困扰!windows控制台乱码问题处理。一键解决乱码,繁体字等问题得困扰!
我在javascript中动态生成了一个xml文件,但是中文一直出现乱码,经过几番验证,问题解决。 这是我的源码 解决方案: 将字符集从utf-8换成gb2312,成功实现, 将html头部和javascript的字符集都换成gb2312,终于解决了...
最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。 首先: 用show variables like “%colla%”;show varables like “%...
关于字符集和乱码的基础知识这里就不详细说明了(请自行搜索),但有一个问题需要特别强调一下:乱码是怎么产生的? 这个问题相信很多同学都是模棱两可,或者没有认真想过,反正理解就是”字符编码“不对导致乱码,...
在vim中编辑一个中文文本时,有时候看起来有乱码,以前都是修修补补的弄没有乱码了就不管了,这个问题一直都很困扰我。突然想到这个问题想把它给解决掉,在网上有很多这方面的资料,但是说得不是很到位,经过了一天...
编码问题一直困扰着开发人员,尤其在Java中更加明显,因为Java是跨平台语言,不同平台之间编码之间的切换较多...在开发Java web程序时可能会存在编码的几个地方,一个HTTP请求怎么控制编码格式?如何避免出现中文问题?
之前是在公司的设备上安装,后来自己在家里的设备安装被一个问题困扰好久 error: Emulator: ERROR: Unable to access ‘C:\Users\鍚村厛鑱猏.emulator_console_auth_token’: emulator console will not work。 ...
idea Android studio 设置资源包,解决绝大部分中文乱码问题 导入即可,utf-8编码,setting.zip 亲测可解决绝大部分中文乱码,特别是本人亲身遇见困扰非常久的莫名其妙的乱码问题
群里很多PHP爱好者一直受phpmyadmin的乱码问题困扰.我自从有了mysql-front后,我就很少使用phpmyadmin了.但每次连接远程主机,就比较慢.造成操作不便.今天有点时间,就下了最新的版本来研究. 首先说明我的数据库使用...