jsp 向servlet中传值中文怎么有乱码,我用的是form表单method="post"

如题所述

需要转码来解决:
转码可以在页面中或是sevlet以及过滤都可以解决的,下面以页面和servlet为例:
方法一:设置 request 和 response 的编码 [ 页面编码必须为 u8 ]
request.setCharacterEncoding("UTF-8");//传值编码
response.setContentType("text/html;charset=UTF-8");//设置传输编码
方法二:
String str1=传来的数据。
String ss=new String(str1.getBytes("ISO-8859-1"),"utf-8"); //转码UTF8
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-28
一:设置 request 和 response 的编码 [ 页面编码必须为 u8 ]
request.setCharacterEncoding("UTF-8");//传值编码
response.setContentType("text/html;charset=UTF-8");//设置传输编码

还不行的话,就在servlet里面转码:
String str1=接收的内容。
String ss=new String(str1.getBytes("ISO-8859-1"),"utf-8"); //转码
第2个回答  2011-03-28
1.jsp文件中设置编码类型
如:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2.servlet中在获取post数据之前
request.setCharacterEncoding("utf-8");

以上代码基于utf-8格式.
第3个回答  推荐于2017-11-24
方法1jsp等文件字符集都设置成gbk
方法2servlet中用encode和decode转码本回答被提问者采纳
第4个回答  2015-10-21
request.setCharacterEncoding("UTF-8");
前台注意下content="text/html;charset=utf-8 是不是UTF-8
还有JSP第一行
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
相似回答