又被中文乱码难到了...

wh176781788 2009-02-13 04:52:42
做的是一个struts小东西.
页面 :<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
web.xml也配置了filter编码成utf-8
action中接受到的页面中文就是乱码,以前也做个这个东西,但是就没出现乱码,实在不明白,请教各位牛人了...
...全文
229 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzy2199hj 2009-02-16
  • 打赏
  • 举报
回复
写个过滤器什么都解决了
cbighead110 2009-02-15
  • 打赏
  • 举报
回复
没错,过滤器
wh176781788 2009-02-15
  • 打赏
  • 举报
回复
action中可以传递汉字到jsp 但是jsp传递的汉字到action就是乱码..
wh176781788 2009-02-15
  • 打赏
  • 举报
回复
现在搞了个最简单的jsp到action 中文汉字都无法传输, 页面的pageencoding是utf-8 filter也写了 在actionform里就是乱码了. .急急啊
wh176781788 2009-02-15
  • 打赏
  • 举报
回复
我用了无法解决啊
kempxylong 2009-02-15
  • 打赏
  • 举报
回复
对,没错,用过滤器,这样接受和输入的乱码都能解决
wh176781788 2009-02-15
  • 打赏
  • 举报
回复
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) {
try {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
String encoding = filterConfig.getInitParameter("encoding");
if(encoding==null){
httpRequest.setCharacterEncoding("utf-8");
httpResponse.setCharacterEncoding("utf-8");
}
else{
httpRequest.setCharacterEncoding(encoding);
httpResponse.setCharacterEncoding(encoding);
}
filterChain.doFilter(request, response);
} catch (ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
} catch (IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}
wh176781788 2009-02-15
  • 打赏
  • 举报
回复
我用了过滤器了 , 连string的编码转换都不行 不知道是什么原因
春春 2009-02-14
  • 打赏
  • 举报
回复
顶8楼
过滤器完全能解决!
网络科技 2009-02-14
  • 打赏
  • 举报
回复
我把utf-8全部改为gbk看看,还有注意每个页面的属性也都改为gbk,中文乱码问题确实很讨厌,如果以上方法还不行的话,就再试着用编码转换看看了.
zhuseahui 2009-02-14
  • 打赏
  • 举报
回复
很可能你接收到的数据本就不是utf-8的,这个问题不是很好说,具体问题具体对待,不要光想着过滤。过滤也要考虑过滤前的编码,过滤后的编码。有机会你发我邮箱,我看看。
E-mail:zhuseahui@yahoo.com.cn
xiaowu_wings 2009-02-14
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
只是定义jsp的页面显示的编码方式和后台你获取的数据编码格式还是不一样的

你可以在后台写一个过滤器就可以实现了

过滤器的代码你在网上一搜就有了

你先试试
takes2589 2009-02-13
  • 打赏
  • 举报
回复
可以写个过滤器来处理编码问题
wh176781788 2009-02-13
  • 打赏
  • 举报
回复
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding='utf-8' />也没用..
wh176781788 2009-02-13
  • 打赏
  • 举报
回复
没用 楼上的~
wuhailin2005 2009-02-13
  • 打赏
  • 举报
回复
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
wh176781788 2009-02-13
  • 打赏
  • 举报
回复
我用的是myeclipse的tomcat 如何设置?
wh176781788 2009-02-13
  • 打赏
  • 举报
回复
补充, 我用的post,就是把页面上的中文提交到actionform里时就显示为乱码了,用string(byte[],"gb2312")也是乱码
sansong089 2009-02-13
  • 打赏
  • 举报
回复
如果你用的是tomcat,处理的是url中的中文,并且tomcat的配置文件中conncetor中没有指定utf8就会出现这样的问题。
加载更多回复(1)

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧