我的mysql数据库里面数据都显示正常,还有dos下,查询都显示正常,在eclipse平台下读取时怎么都显示乱码,如果把那个文件导出为一个sql文件,里面的汉字全变成了二进制的编码,搞不懂了,求解?????????
我已经把数据库平台所有都改成了gbk,代码如下:
import java.sql.*;public class DBconnect {
public static Connection getConnection() throws SQLException,java.lang.ClassNotFoundException{
String url="jdbc:mysql://localhost:3306/sss?useUnicode=true&characterEncoding=gbk";
Class.forName("com.mysql.jdbc.Driver");
String username="root";
String password="gaofei";
Connection con=DriverManager.getConnection(url, username, password);
return con;
}
public static void main(String[] args) throws Exception
{
Connection con=DBconnect.getConnection();
Statement st=con.createStatement();
String sql="select * from category";
ResultSet rs=st.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getInt("cat_id")+"     "+rs.getString("cat_title"));
break;
}
}}运行显示乱码,实在是头疼,恳求各位帮忙?

解决方案 »

  1.   

    st.execute("set names gbk"); //加上这句看看
    String sql="select * from category";
    ResultSet rs=st.executeQuery(sql);
      

  2.   

     
    mysql> status;   //看看你的数据库编码
    mysql> set names 'gbk';  //把所有编码都设成gbk
    Server characterset:   gbk
    Db     characterset:     gbk
    Client characterset:     gbk
    Conn. characterset:    gbk 
    楼主运行一下这个,看一下你的数据库是不是所有的都是gbk了……
      

  3.   

    DriverManager.getConnection(url, user, psw);中在url字符串后添加"?useUnicode=true&characterEncoding=utf-8"设定编码试试!
      

  4.   

    楼主你有没有导入mysql连接数据库的包了?
      

  5.   

    字符强转成GBK   具体看资源     虽然是JSP的  但是通用....属于javaSE
    http://download.csdn.net/detail/rememberthemilk/3635418
      

  6.   

    编码要统一..数据库的编码与Java环境下的编码,即是.Java文件属性中的编码格式..
      

  7.   

    编辑器编码、数据库编码、Java文件编码
    都统一
      

  8.   

    把你数据库的编码也改成GBK的吧。不然准乱码。my.ini文件改一下就行了。在[mysql] 的下面加上 default-character-set=utf8 这一段代码。在 [mysqld] 下面加上 default-character-set=utf8  init_connect='SET NAMES utf8' 这俩段代码
      

  9.   

    我觉得mysql里设置GBK正确的话,JAVA程序不会有这种错误。