在my.ini或my.cnf(Linux)中可以指定MySql客端和服务器的默认字符集
[client]
port=3306
default-character-set=gbk
[mysql]
user=root
password=
default-character-set=gbk
[mysqld]
port=3306
basedir="C:/Program Files/Zend/MySQL51/"
datadir="C:/Program Files/Zend/MySQL51/Data/"
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=gbk
# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB
配置文件中的选项与命令行上的选项是对应的,在命令行中的选项都能在配置文件中指定
[client]对除了mysqld外的客端生效,包括mysql,mysqldump等
[mysql]仅mysql客户端生效
[mysqld]对mysqld服务器生效
通过连接器连接的客户端(PHP)无法在配置文件中配置,通过连接器连接的客户端也不能读取配置文件,所以只能在连接会话中用set names设定字符集了(默认应该是Latin1,与编译选项有关),或者重新编译MySql
要查看最终的结果可以在命令行上执行
mysql --print-defaults
mysqld --print-defaults
或者
my_print_defaults client mysql mysqld #可以指定一个组,也可以多个用空格隔开