您的位置:首页 > 数据库 > MySQL

mysql 数据库字符集问题

2013-04-28 18:54 246 查看
ubuntu apt-get install mysql-server.

这样安装之后,产生的字符集为 utf8 与 latin1的混合。

其中,会使界面产生乱码的变量: character_set_database 和 character_set_server 刚好这两个都是latin1的。其他的是utf8。

而使用语句 set names utf8, 他对应的设置 character_set_client, character_set_results, character_set_connection 为utf8. 嘿嘿 治标不治本。

修改 my.ini :

在[mysqld] 下在 添加 default-character-set = utf8(mysql5.5 添加 character-set-server=utf8) 将character_set_server, character_set_database 改为utf8。这就保证了 你直接在数据库创建database时,采用的默认编码是utf8。

在[client]下 添加 default_character_set = utf8.这句保证了客户端连接服务器时采用的是utf8。(只针对mysql,mysqladmin, mysqlcheck, mysqlimport和mysqlshow这些客户端命令程序)

这样看貌似完了,但问题是如果用代码连接还有乱码..... 使用代码连接时还要使用 set names utf8。或者在 [mysqld] 中添加 init_connect = 'set names utf8'。

如果,已经创建的数据库不是utf8, 可以通过 alter database `dbname` set default character set utf8 来修改该库的默认字符集。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: