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里还显示乱码????
+------+-----------+-----------+-------+
| _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里还显示乱码????
第一,table1表的编码是否为utf8,如果没设置,字符相关的列的编码是否设置为utf8
第二,table1表如果上面都没设置,所在数据库的默认编码是不是utf8如果这几者统一为utf8应该问题不大,还有一种原因就是DOC窗口本事的信息编码默认是GBK可能影响还有,你用myeclipse写进去的数据,通过JDBC读出来的数据确定没有乱码?
我试着又把mysql设置成了gbk的,设置后就显示正确了。
可是myeclipse我用的是utf8 ,而mysql用的gbk,这样编码都不乱码,怎么解释???
我只能猜测是这样的,如果你把table1设置成utf8的时候,myeclipse也用utf8没任何问题。而用mysql的命令行因为是在dos命令下输出,而dos命令输出默认的解码是用gbk(你可以随便看个命令行,标题栏右键-属性-选项-当前代码页看到)。所以在mysql的命令行下显示乱码,utf8的编码而gbk的解码在你用gbk编码table1之后,因为命令行gbk解码,在命令行下是OK了,但是我猜测在这种情况下,通过命令行插入的数据,用myeclipse的程序读出来(utf8解码)会出现乱码。你可以试一下