记一次mysql中文字符乱码的问题排查
今天开发反应两样的程序往一个库里面插入数据正常,往另外一个库里面插入数据有乱码。第一反应就是两个数据库关于字符集的配置不一样。
在两个库分别查看参数:
show variables like "%char%";
+--------------------------+------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
+--------------------------+------------------------------------------+
>show variables like "%char%";
+--------------------------+------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
+--------------------------+------------------------------------------+
可以看到character_set_server的参数配置不一样,于是将有问题的那个库配置成utf8,开发再次测试的时候表示还有乱码问题,这时想起来校验字符集没有改,于是分别查看两边校验字符集的差异:
>show variables like "%coll%";
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
>show variables like "%coll%";
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
可以看到collation_server 参数设置不一致,于是把这个参数也改成了utf8,再次测试的时候数据显示正常。
mysql支持多个层次的字符集设置:
服务层(server)、数据库层(database)、数据表(table)、字段(column)、连接(connection)、结果集(result)
优先级:server > database > table > column
为了避免出现因字符不一致导致的中文乱码的问题,最好就是将字符集全部设置成一样的。
另外提一下skip-character-set-client-handshake这个参数,可以通过开启这个参数来过滤客户端设置的字符集
转载于:https://blog.51cto.com/chenql/1975678
记一次mysql中文字符乱码的问题排查相关推荐
- myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法)
myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法) 参考文章: (1)myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法) (2)https://www. ...
- 解决读取数据库里面中文字符乱码的问题
最近做项目过程中要从数据库中读取一些字段,将这些字段先用实体类封装好,然后在其他java主程序中调用该字段进行匹配,奈何我操作了好几遍,总是显示数据库中中文字符乱码.数据库中样式如图1所示. 图1 数 ...
- php中文字符乱码,如何解决php中文字符乱码问题
php中文字符乱码的解决办法:1.改mysql配置文件"my.ini"或"my.cnf":2.在需要做数据库操作的php程序前加入语句"mysql_q ...
- mysql的中文乱码url,MySQL 中文显示乱码
MySQL 中文显示乱码 MySQL 中文显示乱码 如果你遇到乱码问题,可以从下面几个问题逐步检查: (1)检查你的文件存储编码是否和 meta 声明的一致,假如你的文件是按照 utf-8 编码存储, ...
- SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码;
SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码; 参考文章: (1)SpringMVC项目中中 ...
- Javascript 中 atob 方法解码中文字符乱码问题
解决 Javascript 中 atob 方法解码中文字符乱码问题 由于一些网络通讯协议的限制,你必须使用 window.btoa() 方法对原数据进行编码后,才能进行发送.接收方使用相当于 wind ...
- ssis 转换中文字符乱码_SSIS软件包中的字符映射转换
ssis 转换中文字符乱码 This article explores the Character Map Transformation in SSIS package with available ...
- mysql 入库乱码,如何解决mysql中文入库乱码问题
如何解决mysql中文入库乱码问题 1. mysql 入库乱码问题 解决办法 首先 安装的时候必须选择utf-8字符集 如果不是可以进行再次配置或者设置相关变量 (可以用 SHOW VARIABLES ...
- java ssh乱码_SSH框架下中文字符乱码问题的研究
1 Java中文乱码问题的产生原因 在Java Web的应用中,中文字符乱码问题是个由来已久和让人头疼的问题,尤其是刚刚接触Java Web编程的人员,往往在解决中文字符乱码问题上花费了大量的时间和精 ...
最新文章
- 深度学习问题解决:Check failed: stream-parent()-GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogra
- codeigniter钩子的使用
- 使用百度云智能SDK和树莓派搭建简易的人脸识别系统 Python语言版
- Java描述设计模式(18):享元模式
- Junit4集成到Maven工程
- 跳转定义_HTML中的超级链接和锚点跳转
- 麦马计算机科学 UBC工程,2020年UBC文书题目
- Neo4j介绍与使用
- springMVC Model ModelMap 和 ModelAndView的区别
- 【游戏开发实战】Unity逆向怀旧经典游戏《寻秦OL》,解析二进制动画文件生成预设并播放(资源逆向 | 二进制 | C#)
- Labview与三菱PLC通讯 (2)
- Saving Tang Monk II(bfs+优先队列)
- 开启了国内弹幕文化的先河,实现B站弹幕很难么?这个开源项目了解一下
- java maven 读写pdf_Java向PDF模板写入数据
- vnc远程控制软件下载,四款神级能够下载的vnc远程控制软件
- android关于自定义Dialog中布局match_parent 属性 失效的问题
- winPE下安装系统ghost恢复系统图文详细教程
- JSP停车场车位管理系统myeclipse开发oracle数据库BS模式java编程网
- 2022年上海市安全员C证考试题库及答案
- 如何查看当前Word是即点即用版本还是安装版本
热门文章
- 稳定土厂拌设备控制系统-基本介绍(图)
- IIS7.5(IIS7)配置伪静态urlrewrite
- cocos2d(背景图片循环滚动)
- 命令行开发、编译、打包Android应用程序
- 最最基本的框架宏使用RUNTIME_CLASS DECLARE_DYNAMIC IMPLEMENT_RUNTIMECLASS
- 大数据之-Hadoop之HDFS_hadoop集群中的安全模式_操作案例---大数据之hadoop工作笔记0075
- 基于Session的认证方式_创建工程_准备一个springmvc的工程_Spring Security OAuth2.0认证授权---springcloud工作笔记115
- MyCat分布式数据库集群架构工作笔记0018---高可用_单表存储千万级_海量存储_水平分表划分原则
- SpringCloud工作笔记0104---SpringCloud和SpringCloudAlibaba的区别
- Netty工作笔记0024---SelectionKey API