Struts传值中文乱码最简解决方案
又有一个新的项目快开始了,可能还是要用到SSH框架,于是决定重新总结一下SSH的使用,其实框架的使用还是很简单的,应该把更多的精力放到框架实现原理的学习上。
Struts传递中文时出现的乱码问题个人认为最简洁的解决方案是做到以下三点:
1. 将页面的 pageEncoding 设置为GBK 或 GB18030 ;
2.在web.xml中加入过滤器;










3.编写过滤器代码:
package com.sshnews.filter;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
public class GBKEncodingFilter implements Filter {
private FilterConfig config = null;
public void init(FilterConfig arg0) throws ServletException {
this.config = arg0;
}
public void doFilter(ServletRequest req, ServletResponse res, FilterChain fc) throws IOException, ServletException {
if (this.config == null) {
return;
}
//System.out.println("filter running
");
req.setCharacterEncoding("GBK");
fc.doFilter(req, res);
}
public void destroy() {
}
}
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
public class GBKEncodingFilter implements Filter {
private FilterConfig config = null;
public void init(FilterConfig arg0) throws ServletException {
this.config = arg0;
}
public void doFilter(ServletRequest req, ServletResponse res, FilterChain fc) throws IOException, ServletException {
if (this.config == null) {
return;
}
//System.out.println("filter running

req.setCharacterEncoding("GBK");
fc.doFilter(req, res);
}
public void destroy() {
}
}
OK,这样就没问题了。个人认为这是最简洁的方法了。如果写到数据库还是乱码,请参照下面的文章
JAVA写入Mysql中文乱码解决方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!