requestsetCharacterEncoding("utf-8")这个是当你从页面取值时要设置滴,比如servlet里获取取页面姓名(name),你就得先设置request的字符,假如你的数据是从数据库里取的,通过servlet传到页面,你就得设置response的字符集,前提是你是页面也是utf-8,如果你怕错可以把这个2个设置放在方法里的最高位子上就ok了。
在页面的上设置字符很简单的,只要把页面第一行page指令里的那个pageEncoding设置成utf-8就行了。
用BufferedReader br = new BufferedReader(new InputStreamReader(requestgetInputStream(),"gb2312"));试试
loginhtml文件本身的编码也应该是UTF-8,另外也可以加个字符编码过滤器自动进行转换。
public class Encoding implements Filter {
private String encode = "UTF-8";
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
>
原因:浏览器默认使用UTF
-8编码方式来发送请求,而UTF- 8和GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。
解决办法: index页面outprint(requestgetAttribute("name"))前加上
requestseCharacterEncoding("gb2312");
这段话
祝好运
以上就是关于jsp 表单编码 中文乱码 request.setCharacterEncoding全部的内容,包括:jsp 表单编码 中文乱码 request.setCharacterEncoding、javascript里ajax的XMLHttpRequest.responseText,中文有乱码、HttpServletRequest中接收到的json数据,中文乱码,如何解决详情见补充等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)