mysql utf8
时间:2010-08-03 来源:ghbspecial
mysql UTF8乱码解决:
创建的数据库,创建表,都是使用的是UTF8,但是在插入中文后,还是乱码。经过多次尝试发现和
character_set_server =latin1 character_set_server是服务器编码,我们需要更改这个编码,只通过在mysql>set character_set_client=utf8 ,是不可以的。还需要修改/etc/my.cf
more /etc/mycf
[mysql.server]
user=mysql
basedir=/var/lib
default-character-set=utf8
init_connect='SET NAMES utf8'
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8
红部分为新添加的内容,重新启动mysql就可以显示中文了。
通过 show variables like 'char%';也可以看到都更改为UTF8了。
参考文章:这些为解决问题过程看到的资料,感谢这些朋友,问题才得以解决。
http://wenda.tianya.cn/wenda/thread?tid=77df7a9cfccf8b21
http://blog.csdn.net/acmain_chm/archive/2009/05/12/4174186.aspx
http://library.javaeye.com/blog/157702
在linux下修改3个my.cnf的1个/etc/mysql/my.cnf文件
找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
修改好后,重新启动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/ |
手动修改方法:
1、
如何修改数据库成utf8的:
mysql> alter database abc character set utf8;
修改表默认用utf8:
mysql> alter table type character set utf8;
修改字段用utf8:
mysql> alter table type modify type_name varchar(50) CHARACTER SET utf8;
2、
mysql> set character_set_results=gbk;
mysql> set character_set_client=gbk;
创建的数据库,创建表,都是使用的是UTF8,但是在插入中文后,还是乱码。经过多次尝试发现和
character_set_server =latin1 character_set_server是服务器编码,我们需要更改这个编码,只通过在mysql>set character_set_client=utf8 ,是不可以的。还需要修改/etc/my.cf
more /etc/mycf
[mysql.server]
user=mysql
basedir=/var/lib
default-character-set=utf8
init_connect='SET NAMES utf8'
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8
红部分为新添加的内容,重新启动mysql就可以显示中文了。
通过 show variables like 'char%';也可以看到都更改为UTF8了。
参考文章:这些为解决问题过程看到的资料,感谢这些朋友,问题才得以解决。
http://wenda.tianya.cn/wenda/thread?tid=77df7a9cfccf8b21
http://blog.csdn.net/acmain_chm/archive/2009/05/12/4174186.aspx
http://library.javaeye.com/blog/157702
在linux下修改3个my.cnf的1个/etc/mysql/my.cnf文件
找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
修改好后,重新启动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/ |
手动修改方法:
1、
如何修改数据库成utf8的:
mysql> alter database abc character set utf8;
修改表默认用utf8:
mysql> alter table type character set utf8;
修改字段用utf8:
mysql> alter table type modify type_name varchar(50) CHARACTER SET utf8;
2、
mysql> set character_set_results=gbk;
mysql> set character_set_client=gbk;
相关阅读 更多 +