问题描述:当我们向页面(html/jsp)输出中文或读取页面中文的时候出现了乱码。

这个问题产生的主要原因是因为:浏览器和编译器的默认编码格式不同所导致的。

只要让浏览器和编译器的编码解码所用的规则一样就好了。

注:不是所有的编码规则都支持中文,这里使用编码“UTF-8”。

 

代码演示:


package ziyang;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CeShi extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response) 
                throws ServletException, IOException {
		//解决读取页面的文字乱码
		request.setCharacterEncoding("UTF-8");
		//解决向页面输入中文乱码
		response.setContentType("text/html;charset=UTF-8");
		//读取页面中一个input元素,它的name="user"
		System.out.println(request.getParameter("user"));
		response.getWriter().write("么么哒");
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {
		doGet(request, response);
	}
}