问题描述:当我们向页面(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);
}
}