mysql> select * from table1;
+------+-----------+-----------+-------+
| _id  | _username | _password | _desc |
+------+-----------+-----------+-------+
| NULL | 鎴?       | NULL      | NULL  |
+------+-----------+-----------+-------+
1 row in set (0.00 sec)mysql> show variables like 'collation_%';
+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)mysql>怎么解释  mysql的数据库设置的编码为utf8 可是怎么用myecliopse写进去,在mysql里还显示乱码????

解决方案 »

  1.   

    这个很难一下子系统地解释,需要确定几个情况
    第一,table1表的编码是否为utf8,如果没设置,字符相关的列的编码是否设置为utf8
    第二,table1表如果上面都没设置,所在数据库的默认编码是不是utf8如果这几者统一为utf8应该问题不大,还有一种原因就是DOC窗口本事的信息编码默认是GBK可能影响还有,你用myeclipse写进去的数据,通过JDBC读出来的数据确定没有乱码?
      

  2.   

    看你这种乱码应该是utf-8与gbk之间的转换的乱码。
      

  3.   

    Myecliopse中默认编码是GBK你看下是不是没有转码。
      

  4.   

    我在myeclipse下设置的是utf8的,通过配置把mysql也设置成了utf8的,并重启了服务器。myeclipse插入和显示都正确,但是在dos窗口显示的字符就是乱码了。
    我试着又把mysql设置成了gbk的,设置后就显示正确了。
    可是myeclipse我用的是utf8  ,而mysql用的gbk,这样编码都不乱码,怎么解释???
      

  5.   

    mysql 设置好默认编码个时候 ,里面的表 删了 重建
      

  6.   

    其实你的整个应用服务在utf8编码下用myeclipse跑起来都没有任何问题,只是在mysql的命令行下查看有问题而已,作为软件开发,你可以直接无视这个问题。如果作为学习理解,你贴的信息还不够完整吧。
    我只能猜测是这样的,如果你把table1设置成utf8的时候,myeclipse也用utf8没任何问题。而用mysql的命令行因为是在dos命令下输出,而dos命令输出默认的解码是用gbk(你可以随便看个命令行,标题栏右键-属性-选项-当前代码页看到)。所以在mysql的命令行下显示乱码,utf8的编码而gbk的解码在你用gbk编码table1之后,因为命令行gbk解码,在命令行下是OK了,但是我猜测在这种情况下,通过命令行插入的数据,用myeclipse的程序读出来(utf8解码)会出现乱码。你可以试一下