主题:[讨论]mysql在ubuntu下乱码,中文对不齐问题的解决
mysql在ubuntu下乱码,中文对不齐问题的解决
mysql数据服务器耐思尼克申请入口:[url=http://www.iisp.com/vhost/?s=macui]http://www.iisp.com/vhost/?s=macui[/url] 全面提供支持 ASP、ASP.NET、PHP、PERL、CGI及各类数据库虚拟主机,提供国内双线主机、电信主机、韩国主机、美国主
机、香港主机、CND主机等
在ubuntu中,安装php,mysql,apache之后,你一定要做一件事情:修改mysql默认的字符集。不然的话,你建立的所有数据库都会出现显示乱码的情况。比如说你在phpmyadmin中建立的表格,然后在终
端里面看,会发现中文都是乱码的。另外,还有用其他的软件与数据库进行链接的时候也可能出现这样的情况。这是因为mysql默认的字符集与ubuntu默认的字符集不一致导致的。所以,如果你没有进行
修改就建立了很多的数据库,那么麻烦就比较大了。
现在来修改一下mysql,默认的字符集吧
修改/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/ |
+--------------------------+----------------------------+
现在这样就说明你设置成功了。
不过是否就意味着现在开始建立的表就是正常的呢?你在一个之前建立好的数据库下新建一个有中文的表格,会发现乱码依旧。
这是为什么呢?刚才已经说了,修改之前的数据库还是依然会乱码的。现在你新建一个database,然后在里面新建表,在表里面输入中文(我是在终端里面操作的)。看看phpmyadmin/phpadmin中,是否
还显示乱码。反正我的是不会了
mysql数据服务器耐思尼克申请入口:[url=http://www.iisp.com/vhost/?s=macui]http://www.iisp.com/vhost/?s=macui[/url] 全面提供支持 ASP、ASP.NET、PHP、PERL、CGI及各类数据库虚拟主机,提供国内双线主机、电信主机、韩国主机、美国主
机、香港主机、CND主机等
在ubuntu中,安装php,mysql,apache之后,你一定要做一件事情:修改mysql默认的字符集。不然的话,你建立的所有数据库都会出现显示乱码的情况。比如说你在phpmyadmin中建立的表格,然后在终
端里面看,会发现中文都是乱码的。另外,还有用其他的软件与数据库进行链接的时候也可能出现这样的情况。这是因为mysql默认的字符集与ubuntu默认的字符集不一致导致的。所以,如果你没有进行
修改就建立了很多的数据库,那么麻烦就比较大了。
现在来修改一下mysql,默认的字符集吧
修改/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/ |
+--------------------------+----------------------------+
现在这样就说明你设置成功了。
不过是否就意味着现在开始建立的表就是正常的呢?你在一个之前建立好的数据库下新建一个有中文的表格,会发现乱码依旧。
这是为什么呢?刚才已经说了,修改之前的数据库还是依然会乱码的。现在你新建一个database,然后在里面新建表,在表里面输入中文(我是在终端里面操作的)。看看phpmyadmin/phpadmin中,是否
还显示乱码。反正我的是不会了