编码 乱码 请求、响应乱码

详解乱码的博文:

http://blog.csdn.net/chenssy/article/details/42672219

http://blog.csdn.net/haitianxiaowu1/article/details/52460105

http://www.cnblogs.com/homg/archive/2013/04/16/3344962.html


1》源文件保存,操作系统默认file.encoding;

2》用系统默认格式读源文件(还原);翻译为class文件存到内存时,jdk默认file.encoding转换为java内部的unicode格式

3》将内存中的unicode格式,写入class文件;

4》运行编译的类,

1.console控制台:读class文件到内存,jvm运行,获取系统默认编码格式转换并输出;用户输入的内容

2.JSP/Servlet类:jsp页面jsp编译器查看jsp文件是否设置格式,没有则用jdk的默认方式

3.java类与数据库之间:待续


response.setCharacterEncoding("utf-8");// 设置在开头

request.setCharacterEncoding("utf-8");

response.setHeader("Content-type:", " text/html; charset=utf-8");//浏览器打开的编码格式

<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

JSP文件标配,只配置一个也能不乱码,具体原因未细查

System.getProperty("file.encoding");//系统默认编码格式


tomcat service.xml文件修改,  content元素,增加URIEncoding="UTF-8" 修复GET请求中文乱码的情况;

servlet乱码:请求响应对象都设置编码格式 request.setCharacterEncoding("utf8");

response.setCharacterEncoding("utf8");(默认只对post生效), post将不乱码,

get请求参数乱码:(使得对get生效)useBodyEncodingForURI="true"


不改tomcat配置的方案: new String(str.getBytes("iso8859-1"),"utf8");//修正编码格式


不太理解过滤器设置编码问题:目前认为是节省了每个请求 响应的重复设置编码操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值