Servlet中取到的中文参数为乱码,如何解决? 在IE中输入..../myservlet?fro=中国人 用如下方式取值String from = req.getParameter("fro");结果println出来是乱码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是解决中文的常用办法之一:String from = new String(req.getParameter("fro").getBytes("iso8859_1"),"GB2312"); String from = new String(req.getParameter("fro").getBytes("iso8859_1"),"GB2312"); request.setCharacterEncoding("GBK");一般都是通过加个过滤器来解决的,然后把request的编码设为GBK 过滤器:public class CharSetFilter extends HttpServlet implements Filter{ public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) { request.setCharacterEncoding("GBK"); filterChain.doFilter(request, response); }}WEB.XML中的配置<filter> <filter-name>charSetFilter</filter-name> <filter-class>过滤器类路径</filter-class> </filter> <filter-mapping> <filter-name>charSetFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> java不好的地方啊 关于StringBuffer的问题 问大家一个关于利用main方法进行单元测试的问题 这两种情况对于abc值的影响 JNI 中调用DefineClass函数出错 怎样确定已经连接到数据库的Connection是否正在使用? HashMap和Hashtable的区别 散分 如何分解字符串 超菜问题:抽象类和普通类有什么区别? 求MS-access 的JDBC驱动 怎么在netbeans中创建applet文件还有html文件?
String from = new String(req.getParameter("fro").getBytes("iso8859_1"),"GB2312");
一般都是通过加个过滤器来解决的,然后把request的编码设为GBK
过滤器:public class CharSetFilter extends HttpServlet implements Filter
{
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
{
request.setCharacterEncoding("GBK");
filterChain.doFilter(request, response);
}}
WEB.XML中的配置
<filter>
<filter-name>charSetFilter</filter-name>
<filter-class>过滤器类路径</filter-class>
</filter> <filter-mapping>
<filter-name>charSetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>