日期:2014-05-17  浏览次数:20694 次

jsp查询数据库时出现乱码
本帖最后由 kaifuleee 于 2013-04-07 20:31:25 编辑
代码如下:
String name = new String("计算机科学".getBytes("ISO8859-1"),"gbk");
int visited_count, tb_id;
db.getLink("postbar");
try
{
rs = db.search("select * from tieba_table where name = "+name);
rs.next();
tb_id = rs.getInt("id");
visited_count = rs.getInt("visited_count");
%><%=tb_id+"..."+visited_count%><%
}
catch(Exception e)
{
%><%=e%><%
}
数据库中字段设计如图:


编码方式一致,为什么还会出现下面的错误?
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '???????' at line 1 

在以id查询时,却不会出现错误,并且中文也可以正常输出
jsp 数据库 string

------解决方案--------------------
这样试试呢?
jdbc:mysql://127.0.0.1:3366/test?characterEncoding=gbk

------解决方案--------------------
你用的是mysql数据库吧。这个数据库在使用时,你一定要注意。
在创建数据库时,把编码设置好。通一设置。
其实,mysql的编码是有三个地方的,数据库的编码,还有表的编码,还有表列的编码。
------解决方案--------------------
楼主千万别忘了给分呀
------解决方案--------------------
页面和数据库的编码要一直,推荐使用UTF-8
------解决方案--------------------
学习下