JSP+Servlet的编码,解决中文乱码

来源:互联网 发布:如何申请公司域名邮箱 编辑:程序博客网 时间:2024/04/29 16:24

在开始学习JSP和Servlet时,首先就要将中文编码这块弄懂,避免中文乱码的坑。
这里来说说,如何避免踩坑:
在Servlet中,主要的service()、doPost()、doGet()方法中有两个参数(request, response)。简单的理解,request中的编码为从客户端浏览器发送给服务器时,数据的编码格式。而response中的编码为从服务器端发送给浏览器端时,数据的编码格式。而Servlet解析运行时,底层编译的编码为ISO-8859-1,不对编码进行设置的话,默认会转换为ISO-8859-1,请求与响应的字符编码格式不一致,继而出现中文乱码。
因此,只要保持二者一致,即可避免中文乱码问题。

————
开发时避免中文乱码问题的总结:
1. 将jsp文件的字符编码为

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

2. 将Servlet文件中service()、doPost()、doGet()方法中设置:

response.setContentType("text/html");request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");

保持所有的编码都为统一编码,即可避免乱码问题 ps:这里采用统一的UTF-8编码

原创粉丝点击