总结一下页面中文传输的编码问题

来源:互联网 发布:iptv管理系统php制作 编辑:程序博客网 时间:2024/06/05 23:27

总结一下页面中文传输的编码问题:


1. tomcat等服务器不管你采用什么编码,它都会用ISO-8859-1来传输数据,所以我们在服务器端接收数据并进行重编码时,都会先采用ISO-8859-1来获取字符串的字节码。


2. Get方式提交数据:


   2.1 页面charset="utf-8",服务器没有设置URIEncoding,则在服务器端需用ISO-8859-1获取字符串的字节码,用UTF-8重编码。
   2.2 页面charset="utf-8",服务器设置了URIEncoding="utf-8",则服务器端直接可以获得正确的中文。这相当于在服务器设置了request.setCharacterEncoding("utf-8"); GBK也是一样的设置。
   2.3 页面charset="utf-8",而服务器设置了URIEncoding="GBK",则服务器端无论如何也得不到中文。


3. Post方式提交数据:
   3.1 页面charset="utf-8",服务器端设置了request.setCharacterEncoding("utf-8");则直接可得到中文,否则需用ISO-8859-1来获得字节码,再用UTF-8重编码。服务器配置文件中的URIEncoding设置对Post不起作用。


4. <%@ page language="java" contentType="text/html; charset=GBK"  pageEncoding="GBK"%>

   charset影响get方式提交的数据的编码,而pageEncoding则影响页面显示的编码