jdbc连接MySql解决中文乱码问题 当jdbc连接数据库时,如果输入的是中文,则在数据库中表现出来的是?号,而无法利用中文输出,请问这种情况怎么解决??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Mysql的去相应版块问问吧。有专门的Mysql版块 这情况很很常见,为何有时在一些客户端中不能正常显示呢,以navaicat 为例,你安装时会有个编码选择,如果选的latin1 而你的数据库的编码用了utf8,这样看上去就不能正常显示,但是你如果在jdbc连接后,取数据时把编码设一致就可 还是有些不对,如果直接查询然后输出事不会出现乱码!但如果我用DAO模式,在一个.java文件下有student.SetName(rs.getString(1)); 然后在jsp文件中有<%=student.GetName()%>这样就会出现中文乱码!这是为什么啊? 字符集问题set name 'gbk';show variables 'character%'; 你在jsp中设置编码了吗? 调节一下编辑器的编码,比如myecplise的默认编码是iso的 数据库表的编码设置,确认是GBK? 怎么调节?我在jsp文件中设置了<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>。这样就不用调节了吧 还有最郁闷的就是下面代码测试是没问题的<%@ page language="java" import="java.util.*" pageEncoding="gbk"%><%@ page import= "java.sql.* "%> <html> <body> <% Class.forName( "com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/ttt?user=liu&password=liu"; Connection conn= DriverManager.getConnection(url); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String upd= "INSERT INTO tt VALUES ('测试 ');";String s="select name from tt";stmt.executeUpdate(upd); ResultSet rs=stmt.executeQuery(s); while(rs.next())out.println( rs.getString(1)); stmt.close(); conn.close(); %> </body> </html> 问题已解决了!总结一下:把编码改为gbk, <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>然后少些了这句: <% request.setCharacterEncoding("gbk");%>再用记事本打开,点击另存为,打开另存为页面,在下面的编码改为ANSI格式的保存就可以了! 数据库所有表数据删除或替换怎么整? net start mysql 发生系统错误 2。系统找不到指定的文件 数据分类汇总问题,请高手指点,高分重谢 真的很急,很急!mysql 联合查询 java从mysql数据库读出的中文是乱码怎么解决。 看句sql,count以后加条件 sql合并表的简单问题 某表有1000W条记录,自增主键,如何随时取10条? 求教:人员信息表,有两个Email字段,需要拆分表吗? Mysql将数据分组后取出时间最近的数据 用navicat连接mysql数据库出现问题 MySQL如何复制表结构时联通复制完整性约束
set name 'gbk';
show variables 'character%';
调节一下编辑器的编码,比如myecplise的默认编码是iso的
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ page import= "java.sql.* "%>
<html>
<body>
<%
Class.forName( "com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/ttt?user=liu&password=liu"; Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String upd= "INSERT INTO tt VALUES ('测试 ');";
String s="select name from tt";
stmt.executeUpdate(upd);
ResultSet rs=stmt.executeQuery(s);
while(rs.next())
out.println( rs.getString(1));
stmt.close();
conn.close();
%> </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
然后少些了这句:
<% request.setCharacterEncoding("gbk");%>
再用记事本打开,点击另存为,打开另存为页面,在下面的编码改为ANSI格式的保存就可以了!