MySQL字符集设置
• 系统变量:
– character_set_server:默认的内部操作字符集
– character_set_client:客户端来源数据使用的字符集
– character_set_connection:连接层字符集
– character_set_results:查询结果字符集
– character_set_database:当前选中数据库的默认字符集
– character_set_system:系统元数据(字段名等)字符集
mysql字符集传递:
a 我们的字段没有设置字符集,因此使用表的数据集
b 我们的表没有指定字符集,默认使用数据库存的字符集
c 我们的数据库在创建的时候没有指定字符集,因此使用character_set_server设定值
d 我们没有特意去修改character_set_server的指定字符集,因此使用mysql默认
e mysql默认的字符集是latin1,因此,我们使用了latin1字符集,而我们character_set_connection的字符集是UTF-8,插入中文乱码也再所难免了。
Linux下MySQL配置文件my.cnf文件
[mysql]
#在该区域设置默认字符集(default-character-set=utf8),
#那么这个三个character_set_client,character_set_connection,character_set_results,全部生效
default-character-set=utf8
[mysqld]
#在该区域设置默认字符集(default-character-set=utf8),
#那么character_set_server,character_set_database两个全部生效,并且这俩个参数只有在该节中可以设置,其他地方设置会报错
default-character-set=utf8
[client]
#在该区域设置默认字符集(default-character-set=utf8),
#那么这个三个character_set_client,character_set_connection,character_set_results,全部生效
#如果在[mysql]和[client]节中都设置了默认字符集,那么以[client]为准
default-character-set=utf8
推荐设置:
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
show variables like 'character%';生效结果:
character_set_client=utf8
character_set_connection=utf8
character_set_results=utf8
character_set_server=utf8
character_set_database=utf8
永久统一utf8配置,
character_set_client=utf8
character_set_connection=utf8
character_set_results=utf8
character_set_server=utf8
character_set_database=utf8
character_set_system=utf8
character_set_filessystem=binary
MySQL字符集设置
最新推荐文章于 2024-09-14 20:32:24 发布