今天终于有时间对WEB开发中,常出现的编码问题作了一个彻底的总结,以前也老是一知半解,以至于错误百出: 首先说一下几个常用设置的作用,知之而制之! pageEncoding="UTF-8" : 1,只能用于JSP中,作用就是告诉JSP编译器在将JSP文件编译成Servlet时使用的编码。假如,你的JSP文件是以GBK为编码保存的,而在JSP中却指定pageEncoding="UTF-8",就会引起JSP内部定义的字符串为乱码, 2,另外,该参数还有一个功能,就是在JSP中不指定contentType参数,也不使用response.setCharacterEncoding方法时,指定对服务器响应进行重新编码的编码 contentType="text/html;charset=UTF-8" :作用是指定对服务器响应给客户端页面的编码。在不使用response.setCharacterEncoding方法时,用该参数指定对服务器响应进行重新编码 request.setCharacterEncoding("UTF-8") :作用是设置对客户端请求数据进行重新编码 response.setCharacterEncoding("UTF-8") :作用是指定对服务器响应给客户端页面的编码。 这是关于页面和程序的配置。 ----------------------------------------------------------------------------------- 但是一个完整的web项目是由 web工程+web服务器+数据库构成的。 所以免不了统一这三个的数据编码。 tomcat server.xml中配置URIEncoding="utf-8"指的是当客户端向服务端发出请求时,如果客户端以Get方式发送,那么此时请求的编码便是这个。 其他也一样。 ----------------------------------------------------------------------------------- 接下来就是数据库编码,最好都统一成UTF-8 |
|