ubuntu中mysql乱码问题的解决

整整弄了一天,终于解决了jdbc(mysql-connector-java-5.0.30)和mysq通信中文乱码的问题!我的系统是 linux(ubuntu)。在java中(Myeclipse环境)使用hibernate连接mysql。存储英文没问题,写(insert into)和读(select)都能正确显示,但是若其中带有中文字符就成乱码了。到网上查找了半天资料,最后终于成功。

我的解决方法是,在/etc/my.cnf文件中加上以下两行内容:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
注意,这个文件不一定存在,需将 /安装原文件/support-files/my-medium.cnf 复制到/etc/下,重命名

需重启mysql
          停用:sudo /usr/local/mysql/bin/mysqladmin   shutdown
           启用sudo /usr/local/mysql/bin/mysqld_safe  -user=mysql &

查看mysql编码
    启用后sudo /usr/local/mysql/bin/mysql
             mysql>show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

注意,这样改变后原先所建数据库似乎不能用(不确定),尽量备份

新建数据库,就不会有乱码了。