关于项目中出现中文乱码问题
1.乱码经常会出现在什么位置上
-数据传递过程中的乱码
-数据展示过程中的乱码
-数据保存过程中的乱码
2.数据保存过程中的乱码
-最终保存到数据库表中,数据出现乱码
-导致数据保存中出现乱码的两种情况
第一种情况:在数据保存之前数据本身就是乱码
第二种情况:数据本身不是乱码,但是由于数据库不支持中文,所以出现乱码
3.数据展示过程中的乱码
-最终显示到网页数据出现乱码
-经过执行java程序之后,java程序负责向浏览器响应的时候,中文出现乱码,怎么解决
设置响应的内容类型,以及对应的字符编码方式:
response.setContentType(“text/html;charset=UTF-8”)
-如果没有经过java,直接访问html,出现中文乱码,怎么解决
meta content=“text/html;charset=UTF-8”
4.数据传递过程中的乱码?
-将数据从浏览器发送给服务器的时候,服务器接收的数据是乱码
-浏览器是这样发送数据给服务器的:dname=%D4%R3%A5%
-这个是ISO-8895-1,是国际编码标准,不支持中文,兼容ASCII码
-不管是哪个国家的服务器,在浏览器发送给服务器的时候都会采用ISO-8895-1发送
解决数据传递过程中出现的乱码
第一种解决方案:
万能方式,既能解决POST的请求乱码,又能解决GET的请求乱码
先将服务器接收到的数据采用ISO-8895-1的方式解码,回归到原始状态
再给定一种简体中文的编码方式重新编码组装【组装的时候需要和浏览器的编码方式相同】
第二种解决方案:【只支持POST请求,因为这种方式只对请求体编码】
Request.setCharacterEncoding(“UTF-8”)