欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Ubuntu 9.04 下MySQL中文乱码的解决

程序员文章站 2022-05-20 14:59:26
...

Ubuntu 9.04 下用源安装了MySQL。默认情况下,用mysql shell登录创建数据库创建表插入中文数据后,用select查出来是中文,但用JD

Ubuntu 9.04 下用源安装了MySQL。默认情况下,用mysql shell登录创建数据库创建表插入中文数据后,用select查出来是中文,,但用JDBC连接就出现乱码。网上搜索到解决方法,如下(先备份数据):

修改/etc/mysql/my.cnf
sudo gedit /etc/mysql/my.cnf

在my.cnf文件中的[client]段和 [mysqld]段加上以下两行内容:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8

需要重启mysql服务
停用:
sudo mysqladmin shutdown -u root -p
然后输入mysql的root用户的密码
启用:
sudo mysqld_safe -user=mysql &

查看一下现在mysql的编码
sudo mysql -u root -p

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/ |
+--------------------------+----------------------------+

现在不管在mysql shell下还是JDBC都可以正常显示中文了。但之前的数据还是不行,所以在这之前得先备份数据,修改完编码后再导入。

Ubuntu 9.04 下MySQL中文乱码的解决