html中的编码
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">这里不设置成中文编码无法写中文。
jsp中的编码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
contentType="text/html; charset=UTF-8"是提供给浏览器的,pageEncoding="UTF-8"是服务器编译jsp时使用的,两者不一致可能会导致页面乱码,有时候可能不会乱码,最好保持一致。
servlet请求编码设置
请求编码设置分两种,一种是get请求,在doGet方法获取请求参数的默认编码是ISO8859-1,无法获取中文,会出现乱码问题,用request.setCharacterEncoding("utf-8");设置编码不能解决,需要在server.xml的<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>添加URIEncoding="utf-8",这样可以解决url后传中文参数问题。
另一种是post请求,在doPost方法中用request.setCharacterEncoding("utf-8");就能解决post方法的中文传参乱码问题。
servlet响应编码设置
响应编码get与post请求一样,用response.setContentType("text/html;charset=UTF-8");就可解决。
时间: 2024-11-09 21:39:55