mysql从发送请求到接收结果这一过程中会有多次字符集转换,这期间会用到三个系统变量
1. character_set_client 解码请求时使用的字符集
2. character_set_connection 服务器处理请求时会把请求从 character_set_client转为 character_set_connection
3. character_set_results 服务器向客户端返回数据时使用的字符集
步骤
1. 根据系统的字符集 编码字符串 发送请求到mysql服务器,服务器使用character_set_client 解码请求
2. 服务器将 字符串解码后 会根据character_set_connection 进行编码
3. 服务器根据character_set_results 字符集编码 返回给客户端
4. 客户端根据系统字符集 解码显示
所以最简单的方法是 以上三个字符集 跟客户端使用的字符集使用同一种