乱码出现的原因:Tomcat处理请求数据的默认编码为ISO-8859-1,而该字符集是不支持中文的,所以会出乱码。 改配置文件是一种解决方案,如果不想改配置文件,也可以用编程的方式解决:String name = request.getParameter( "name" );//现在name是乱码 name = new String( name.getBytes( "ISO-8859-1" ), "GBK" );//现在name应该没问题了
。。有解答了 或者 URLEncoding~~
1,jsp传递URL时 url = java.net.URLEncoder.encode(url,"UTF-8"); 2,jsp解析URL时 String name = request.getParameter("name") name = new String(name.getBytes("ISO-8859-1"),"GBK");
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="GB18030"/>tomcat的conf目录下,找server.xml文件,里面的这句找到,加上我上面的那句URIEncoding,具体编码你自己看
1、首先说读取数据,web服务器接收请求时,接受到的是字节序列,转化为字符时就需要知道此字符序列的编码,才能正确转化。对于tomcat来讲,如果未指定则默认使用iso8859-1,而通常中文平台的编码是gb2312,所以就会产生乱玛。
2、 <%@ page contentType="text/html; charset=GBK2312" %>
着句的意思是设置http响应头,提示浏览器使用的字符编码,同时设置http响应(response)的字符编码。
3、对于tomcat的get请求,编码的处理是在server.xml的connctor的URIEncoding中指定的。
改配置文件是一种解决方案,如果不想改配置文件,也可以用编程的方式解决:String name = request.getParameter( "name" );//现在name是乱码
name = new String( name.getBytes( "ISO-8859-1" ), "GBK" );//现在name应该没问题了
或者
URLEncoding~~
url = java.net.URLEncoder.encode(url,"UTF-8");
2,jsp解析URL时
String name = request.getParameter("name")
name = new String(name.getBytes("ISO-8859-1"),"GBK");
解决:name.getBytes("ISO-8859-1"),"GBK")
再次提醒中文系统开发下,一定要注意编码转化。