1 jdbc:mysql://127.0.0.1/ccc?useUnicode=true&characterEncoding=GBK
测试这个指定的编码是否有效。
1.1 测试1
1.1.1 <%@ page language="java" contentType="text/html; charset=8859_1" %>
1.1.2 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
1.1.3 jdbc:mysql://127.0.0.1/ccc?useUnicode=true&amp;characterEncoding=gbk
1.1.4 SQL="insert into wap_column (title) values ('中文')";
1.1.5 String SQL="select * from wap_column";
1.1.6 结果:插入、读取正常,不需要进行转码处理。
1.2 测试2
1.2.1 <%@ page language="java" contentType="text/html; charset=GBK" %>
1.2.2 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
1.2.3 jdbc:mysql://127.0.0.1/ccc?useUnicode=true&amp;characterEncoding=gbk
1.2.4 SQL="insert into wap_column (title) values ('"+new String("中文".getBytes("GBK"),"8859_1")+"')";
1.2.5 String SQL="select * from wap_column";
1.2.6 结果:读取、插入需要进行转码处理,转码后正常。
1.3 测试3:与测试2基本一致,仅修改characterEncoding=8859_1。
1.3.1 <%@ page language="java" contentType="text/html; charset=GBK" %>
1.3.2 <meta http-equiv="Content-Type" content="text/html; charset=8859_1" />
1.3.3 jdbc:mysql://127.0.0.1/ccc?useUnicode=true&amp;characterEncoding=8859_1
1.3.4 SQL="insert into wap_column (title) values ('"+new String("中文".getBytes("GBK"),"8859_1")+"')";
1.3.5 String SQL="select * from wap_column";
1.3.6 结果:读取、插入需要进行转码处理,转码后正常。
1.4 测试3:与测试2基本一致,仅删除characterEncoding=gbk。
1.4.1 <%@ page language="java" contentType="text/html; charset=GBK" %>
1.4.2 <meta http-equiv="Content-Type" content="text/html; charset=8859_1" />
1.4.3 jdbc:mysql://127.0.0.1/ccc
1.4.4 SQL="insert into wap_column (title) values ('"+new String("中文".getBytes("GBK"),"8859_1")+"')";
1.4.5 String SQL="select * from wap_column";
1.4.6 结果:读取、插入需要进行转码处理,转码后正常
1.5 结果表明:characterEncoding=8859_1与characterEncoding=gbk与不设置的结果是一样的,说明该设置不起作用。
这是为什么啊?
怎么解决。请教。