今天开发反应两样的程序往一个库里面插入数据正常,往另外一个库里面插入数据有乱码。第一反应就是两个数据库关于字符集的配置不一样。

在两个库分别查看参数:

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这个参数,可以通过开启这个参数来过滤客户端设置的字符集

mysql中文乱码过滤_记一次mysql中文字符乱码的问题排查相关推荐

  1. mysql connection是什么_记一次MySQL出现too many connection

    今天中午的时候突然接到报警,MySQL连接数暴增..本来设置的max_conntion=6000, 这个数值连接已经够用.接到报警速度连接服务器连接mysql总是报如下错误: [mysql@local ...

  2. mysql查看脚本错误位置_记一次mysql启动不了查找经历

    在linux上用的是xampp,mysql启动没有报任何错误,但就是查找不到进程,于是找mysql错误日志,日志在哪?在lampp/var/mysql 以.err结尾的文件里.里面内容如下; /opt ...

  3. mysql native数据同步_记一次MySQL(5.7版本)数据库的主从同步和备份

    我遇到的问题 我先后在BAT三大云服务器商购买了学生机,配置如下百度云2核/4G 阿里云1核/2G 腾讯云1核/2G 我的解决方案 由于我不知道百度云的续费规则,导致买了2核/4G的服务器之后以为像阿 ...

  4. java字符乱码问题_怎么解决java中的字符乱码问题

    怎么解决java中的字符乱码问题 发布时间:2020-06-28 14:53:09 来源:亿速云 阅读:108 作者:Leah 怎么解决java中的字符乱码问题?相信很多没有经验的人对此束手无策,为此 ...

  5. mysql 乱码 越南_记一次Unipack越南文乱码Bug的修复

    此文已由作者左裕初授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验 问题 Unipack系统要保存一些越南文的包名,由于这是一个上古系统,处理起来一定要采取庖丁解牛的态度 思路 ...

  6. mysql 安装只有一半_记一次MySQL安装出现的坑爹问题。。。

    关键词:mysql安装msvcr100.dll缺失  vc++2010 : win10系统首次安装mysql,图方便下载了图形界面的安装包(5.6.4),本以为小事一桩:装一半失败.卸载清注册表.重装 ...

  7. mysql无法启动修复_记一次MySQL无法启动及修复经历

    记得有次本地的MySQL无法启动,网上说,去删掉InnoDB日志就行,我就傻乎乎的去删掉了InnoDB相关的文件,果然,没有任何问题,正常启动了. 可是谁曾想,过了几天,故障复现了,我就按部就班的又去 ...

  8. 阿里云下mysql远程访问被拒绝_记一次MySQL数据库拒绝访问的解决过程

    最近在折腾wordpress博客,连接MySQL数据库时提示拒绝访问.经过排查,解决了问题.这里记录下解决问题的方案,以及解决的思路.如有遇到类似问题的读者可以参考下. 用wordpress搭博客,数 ...

  9. mysql group by 性能_记一次Mysql group by的优化

    直接上干货: 数据量:50万 mysql版本:5.6.26 表结构: CREATE TABLE bet_order_product ( bet_order_product_id varchar(40) ...

  10. 修改mysql 视图字段类型_记一次mysql视图创建时自定义字段类型不同环境不同的原因...

    由于老项目使用的是hibernate,当项目启动时会去检查数据库字段类型等,发现一张视图中某个自定义字段在开发环境中类型为text,但是到了生产环境类型却为mediumtext,导致代码在生产上会有问 ...

最新文章

  1. 三星E1200R语言设置_三星 S20 系列评测:依旧是 Android 阵营最高水平
  2. 浮动层图片鼠标指针移到自动放大
  3. (数据库系统概论|王珊)第三章关系数据库标准语言SQL-第零节:MYSQL环境安装和表的建立以及一些注意事项
  4. 巴铁 无人驾驶_巴铁骗局再现 深圳无人巴士谎言又来忽悠人
  5. sql配置管理器服务是空的_Sql Server ReportingServices(SSRS)报表配置
  6. 载winpcap4.1.1_搞不清电力电缆载流量?有这一份最新汇总就够了~
  7. LibXML2不支持中文补遗
  8. 注册测绘师备考指南2019
  9. PHP网站开发的流程步骤
  10. Python|十五个超级炫酷代码
  11. 中国脑计划颠覆性创新之路九,进化的方向,脑科学,互联网和人工智能联合突破达尔文进化论局限
  12. 简单的车票管理系统(c语言)
  13. 调用opensmile编译的DLL动态库API进行声音特征提取
  14. 视频怎么水平翻转画面并做锐化处理?
  15. CCS_3.3.83.20的安装步骤
  16. Oracle不完全恢复
  17. 微信公众号h5页面禁止用户调整字体大小
  18. python基础学习笔记12:Python面向对象编程
  19. (Note)神经网络中的特征融合方式(add/concate)
  20. vue中时间戳转换为日期格式的方法封装

热门文章

  1. 【模板】堆优化 + dij +pair 存储
  2. poj3274 找平衡数列(哈希加一点数学思维)
  3. 【个人想法】个人关于数据库字段类型选择的想法
  4. DIV_ROUND_UP(x,y)实现x/y向上取整
  5. 华为路由器isis配置实例_华为isis协议配置实例
  6. 【Spring-AOP】底层类ProxyConfig,ProxyProcessorSupport分析
  7. 类的加载过程详解之过程一:Loading(加载)阶段
  8. 谈谈Http中Get和Post的区别
  9. 基本概念---part3
  10. RabbitMQ 实现RPC