jsp+mysql中sql语句中的中文问题
环境:tomcat5+jdk6+mysql5
String type=new String(request.getParameter("type").getBytes("8859_1"),"GBK");传参是“中文”
"select * from t1 where t1.type='"+type+"'";
这个是可以的,而
"select * from t1 where t1.type='中文'";
就不行,报错是中文部分是乱码
String type=“中文”;
"select * from t1 where t1.type='"+type+"'";
这个也是错的
String type=“中文”;
type= new String(type.getBytes("gbk"));
"select * from t1 where t1.type='"+type+"'";
也不行
数据库编码gbk
页面编码:
<%@ page contentType="text/html; charset=gbk" language="java" import="java.sql.*,java.util.Date,java.util.*,java.io.*" errorPage="" %>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
Connection编码:characterEncoding=GBK"
mysql> show variables like 'character\_set\_%';
+--------------------------+--------+
| Variable_name | Value |
+--------------------------+--------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | gbk |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | gbk |
| character_set_system | utf8 |
+--------------------------+--------+