1. 各个级别的字符集

查看当前连接的数据库信息

  1. show variables like 'character%';
  • character_set_server:服务器级别的字符集
  • character_set_database:当前数据库的字符集
  • character_set_client:服务器解码请求时使用的字符集
  • character_set_connection:服务器处理请求时会把请求字符串从character_set_client转为character_set_connection
  • character_set_results:服务器向客户端返回数据时使用的字符集

小结

  • 如果创建列的时候没有指定字符集和比较规则,那么默认采用的字符集和比较规则
  • 如果创建表的时候没有指定字符集和比较规则,那么默认采用数据库的字符集和比较规则
  • 如果创建数据库的时候没有指定字符集和比较规则,那么默认采用服务器的字符集和比较规则

    2. 请求->响应过程中字符集的变化

    image.png