在my.ini文件中设置:
default-character-set= gbk
然后重启服务

解决方案 »

  1.   

    没用,还是     |       |       | NULL   |       | 0000-00-00 |          0 |
    ULL        |             |
    |     21 | ???   |      0 | M    | 0000-00-00 |        | 0000-00-00
         |       |       | NULL   |       | 0000-00-00 |          0 |
    ULL        |             |
    |     22 | ???   |      0 | M    | 0000-00-00 |        | 0000-00-00
         |       |       | NULL   |       | 0000-00-00 |          0 |
    ULL        |             |
    |     23 | ???   |      0 | M    | 0000-00-00 |        | 0000-00-00
         |       |       | NULL   |       | 0000-00-00 |          0 |
    ULL        |             |
    |     24 | ???   |      0 | M    | 0000-00-00 |        | 0000-00-00
         |       |       | NULL   |       | 0000-00-00 |          0 |
    ULL        |             |
    |     25 | ???   |      0 | M    | 0000-00-00 |        | 0000-00-00
         |       |       | NULL   |       | 0000-00-00 |          0 |
      

  2.   

    把刚才那句改成:
    character_set_server = gbk再看下结果。
      

  3.   

    -----------+-------------+
    |     27 | ???   |      0 | M    | 0000-00-00 |        | 0000-00-00   | S     |
         |       |       | NULL   |       | 0000-00-00 |          0 |          0 | N
    ULL        |             |还是乱码。
    jdbc连接要设置为什么啊?
      

  4.   

    连接时这样设置:String url = "jdbc:mysql://localhost:3306/sunnywest?useUnicode=true&characterEncoding=gbk";
    String user = "root";
    String password = "aaa";
    Connection connRemoteMysql = DriverManager.getConnection(url, user, password);
      

  5.   

    执行
    mysql>show variables like "%char%";mysql>show variables like "%colla%";能看到你的mysql字符集设置,如果有不是gbk,可以用下面的命令改变它:
    mysql>SET character_set_client = gbk
    mysql>SET character_set_connection = gbk
    mysql>SET character_set_database = gbk
    mysql>SET character_set_results = gbk
    mysql>SET character_set_server = gbkmysql>SET collation_connection = gbk_bin
    mysql>SET collation_database = gbk_bin
    mysql>SET collation_server = gbk_bin另外,对你原来有中文的表执行下面语句:
    ALTER TABLE 表名 CONVERT TO CHARACTER SET gbk;
      

  6.   

    |     28 | ???   |      0 | M    | 0000-00-00 |        | 0000-00-00   | S     |
         |       |       | NULL   |       | 0000-00-00 |          0 |          0 | N
    ULL        |             |还是乱码。
    mysql> show variables like "%colla%";
    +----------------------+----------------+
    | Variable_name        | Value          |
    +----------------------+----------------+
    | collation_connection | gbk_chinese_ci |
    | collation_database   | gbk_chinese_ci |
    | collation_server     | gbk_chinese_ci |
    +----------------------+----------------+mysql> show variables like "%char%";
    +--------------------------+----------------------------------+
    | Variable_name            | Value                            |
    +--------------------------+----------------------------------+
    | character_set_server     | gbk                              |
    | character_set_system     | utf8                             |
    | character_set_database   | gbk                              |
    | character_set_client     | gbk                              |
    | character_set_connection | gbk                              |
    | character-sets-dir       | F:\program\mysql\share\charsets/ |
    | character_set_results    | gbk                              |
    +--------------------------+----------------------------------+
    7 rows in set (0.00 sec)
      

  7.   

    首先从出现乱码的现象说起,大家都明白乱码是因为,采用的字符集不同.
    那么就好解决了.
    MySQL可以正常显示gbk字符集,那么,你存入数据库的时候就要把数据转换为gbk类型
    在做WEB时,不需要关心在数据库中存储的是否乱码,只要能够保证数据库和页面显示采用的是相同的编码方式就不会出现问题.
      

  8.   

    楼上的说的是哦,但是我就是直接用程序向数据库里边写中文的时候就是乱码啊。
    private Connection initialConnection() throws SQLException
       {
    try
    {
           this.poolSize++;
           Class.forName("com.mysql.jdbc.Driver").newInstance();
           String strUrl ="jdbc:mysql://" + ip + ":3306/God?useUnicode=true&characterEncoding=gbk"; 
    Connection myConnection=DriverManager.getConnection(strUrl,strUser,strPassword);
    return myConnection;
    }
    catch( Exception e )
    {
    throw new SQLException("数据库连接初始化失败 -> " + e.getMessage());
    }   
       }。
    。。 public static void main(String[] args){
            
            
           try{
               ConnectionPool pool = new ConnectionPool();
       Connection con = pool.getConnection();
            
            //String rootPath=request.getRealPath("/");
    //HttpSession session = request.getSession();

    char sp=java.io.File.separatorChar;
    String username="中文设置";

    String sql="insert into basic (Uname) values('"+username+"');";
    System.out.println(sql);
    PreparedStatement stm = con.prepareStatement(sql);
    stm.execute();
    stm.close();
    //System.out.println(username);
       
         }   
         
         catch (Exception e) {
                 System.out.println(e.getMessage());
         }
          
       }k就出现上述结果了,大家都是怎么解决的呢?
      

  9.   

    直接向数据库里边insert中文出现的就是???哦,怎么解决呢?
      

  10.   

    String username="中文设置";
    username= new String(username.getBytes("GBK"), "ISO8859_1");
    String sql="insert into basic (Uname) values('"+username+"');
      

  11.   

    现在的问题就是直接在mysql中insert into basic (Uname) values(“哈哈”);都是乱码。这个该怎么办啊?
    不是传字符串的问题的哦
      

  12.   

    你的mysql安装是否有问题,我安装完后直接sql端插入中文显示都正常的.
      

  13.   

    呵呵,这个问题有这么麻烦吗?清空原来basic表中的数据,你在mysql命令行下面一步一步的执行:SET character_set_client = gbk;
    SET character_set_connection = gbk;
    SET character_set_database = gbk;
    SET character_set_results = gbk;
    SET character_set_server = gbk;SET collation_connection = gbk_bin;
    SET collation_database = gbk_bin;
    SET collation_server = gbk_bin;DELETE FROM basic;
    ALTER TABLE basic CONVERT TO CHARACTER SET gbk;insert into basic(Uname)values("哈哈");
    SELECT * FROM basic;
      

  14.   

    mysql> ALTER TABLE basic CONVERT TO CHARACTER SET gbk;
    ERROR 1064 (42000): 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 'CONV
    ERT TO CHARACTER SET gbk' at line 1
    mysql>
    请问该如何设置啊?