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 来修改该库的默认字符集。