MySQL字符集的一个坑
2024-10-10 18:18:38
MySQL字符集的一个坑
http://imysql.com/2013/10/29/misunderstand-about-charset-handshake.shtml
MySQL字符集的一个坑
今天帮同事处理一个棘手的事情,问题是这样的:
无论在客户机用哪个版本的mysql客户端连接服务器,发现只要服务器端设置了
character-set-server = utf8
之后,
character_set_client、 character_set_connection、character_set_results
就始终都是和服务器端保持一致了,即便在mysql客户端加上选项
--default-character-set=utf8
也不行,除非连接进去后,再手工执行命令
set names latin1
,才会将client、connection、results的字符集改过来。
经过仔细对比,最终发现让我踩坑的地方是,服务器端设置了另一个选项:
skip-character-set-client-handshake
文档上关于这个选项的解释是这样的:
--character-set-client-handshake Don't ignore character set information sent by the client. To ignore client information and use the default server character set, use --skip-character-set-client-handshake; this makes MySQL behave like MySQL 4.0
这么看来,其实也是有好处的。比如启用 skip-character-set-client-handshake 选项后,就可以避免客户端程序误操作,使用其他字符集连接进来并写入数据,从而引发乱码问题。
最新文章
- Entity Framework 6 Recipes 2nd Edition(12-3)译 ->; 数据库连接日志
- C语言 · 求矩阵各个元素的和
- CPU相关知识---物理CPU数、物理核数、逻辑核数、逻辑CPU数 ?
- C语言杂谈(一)scanf()、scanf_s()与错误 C4996
- function [ binary,decimal ] = num2binary16( number )
- 最全 Adobe 系列产品 CS6版本 序列号/注册码
- 浅析前端开发中的 MVC/MVP/MVVM 模式
- 测试连接失败,因为初始化提供程序时发生错误,[DBNMPNTW] ConnectionOpen (CreateFile())
- ES6 Module export与import复合使用
- centos中病毒
- 便捷的ajax请求
- MCV 和 MTV框架基本信息
- Git同步远程fork的项目
- C/C++.【转】解析URL的转义字符百分比(%)字符串
- CentOS命令介绍综合
- python中字典的用法
- vue-router-2-动态路由配置
- Java Socket实战之一 单线程通信基础socket
- LeetCode140:Word Break II
- sql server 2012 数据库日志文件过大,怎么缩小?
热门文章
- Android学习之BitMap用法实例
- springmvc接收前台(可以是ajax)传来的数组list,map,set等集合,复杂对象集合等图文详解
- 【Java知识点专项练习】之 数据类型两大类
- Linux调试分析诊断利器——strace
- web应用安全防范(1)—为什么要重视web应用安全漏洞
- java高级---->;Thread之ExecutorService的使用
- 题目1008:最短路径问题(最短路径问题dijkstra算法)
- 调用office COM出现不会退出的问题
- 简单ORM工具的设计和编写,自己项目中曾经用过的
- kvm虚拟机不能使用virsh shutdownw命令关闭虚拟机的解决方法