7 个回答

谢谢邀请。

default-character-set # 是来强制设置database的字符集,统一数据读写流程中统一字符集,防止出现乱码
character-set-server # 默认内部操作字符集(就是服务器字符集)

一个是给mysql客户端用的 一个是mysql服务器用的

对应了命令行下的两个命令,如:在linux下是mysql和mysqld(mysqld_safe),不同的命令读取不同的配置

第一个是客户端连接默认字符集, 第二个是当创建新的数据库和表的时候默认使用的字符集

mysql default-character-set是与客户端通信时用的字符集
mysqld character-set-server是服务器用来保存数据的字符集

图片描述

MySQL不太熟,看注释是这个意思

实际上你都应该写成utf8mb4,因为utf8是不支持emoji字符的,而utf8mb4支持emoji,为了防止出错,最好所有的地方都用上utf8mb4,而不要用utf8。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题