问题排查:使用mysql_options连接ob_mysql出现中文乱码

news2024/10/2 8:15:53

问题背景

用户反馈,在使用ob_mysql的场景下,前端页面、日志都出现中文展示为乱码
在这里插入图片描述

复现问题

在这里插入图片描述

排查过程

  1. 通过mysql命令行连接到mysql后通过设置编码格式,执行简单查询语句
    在这里插入图片描述

验证结论:
如果使用set names gbk能命令行查询显示中文正常。猜测很可能是因为连接的客户端没有执行“set names gbk”语句,或者设置的值不对

  1. 检测客户端链接的实现,可以看到,客户端使用mysql_options的MYSQL_READ_DEFAULT_FILE(读配置文件)的方式链接mysql
    在这里插入图片描述
  2. 验证my.cnf中的配置
    在这里插入图片描述

验证结论:my.cnf配置正确
猜测:mysql_options的MYSQL_READ_DEFAULT_FILE的没有实现或者实现有问题?

  1. 使用MYSQL_INIT_COMMAND命令执行"set names gbk"
    在这里插入图片描述
    5.再次验证,发现界面查询的中文已经显示正常
    在这里插入图片描述

结论

  • 直接原因:mysql客户端链接没有执行set names gbk导致中文乱码
  • 根本原因:ob_mysq环境下,mysql_options的MYSQL_READ_DEFAULT_FILE读配置文件方式设置编码不生效。
  • 解决方案:使用MYSQL_INIT_COMMAND,替换mysql_options的MYSQL_READ_DEFAULT_FILE进行编码的设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/369792.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JDK8新特性之Stream流-并行的Stream流以及案例实操】

一.JDK8新特性之Stream流-并行的Stream流以及案例实操 二. 并行的Stream流 2.1 串行的Stream流 我们前面使用的Stream流都是串行,也就是在一个线程上面执行。 /*** 串行流*/Testpublic void test01(){long count Stream.of(1, 2, 3, 4, 5, 6).filter(s -> {S…

Linux内核段页式内存管理技术

一、概述 1.虚拟地址空间 内存是通过指针寻址的,因而CPU的字长决定了CPU所能管理的地址空间的大小,该地址空间就被称为虚拟地址空间,因此32位CPU的虚拟地址空间大小为4G,这和实际的物理内存数量无关。 Linux内核将虚拟地址空间分…

Calendar计算两个时间之间相差几个月

目录说明说明 计算两个时间之间相差几个月: public int getMonth(String startDt, String endDt) { int month 0;try {SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Calendar satrt Calendar.getInstance();Calendar end Cal…

有限差分法求解不可压NS方程

网上关于有限差分法解NS方程的程序实现不尽完备,这里是一些补充注解 现有的优秀资料 理论向 【1】如何从物理意义上理解NS方程? - 知乎 【2】NS方程数值解法:投影法的简单应用 - 知乎 【3】[计算流体力学] NS 方程的速度压力法差分格式_…

股票量化交易SQL特征工程入门

虽然现在各种量化教程和自助平台铺天盖地,但是对于新人来说入门最重要的事情就是挖掘特征。 对于传统的学习路径第一步是学习Python或者某一门编程语言,虽说Python入门容易上手快,但是要在实际应用中对股票数据进行分析,并挖掘有…

【数据库】第一章 绪论

第一章 绪论 1.1 数据库系统概述 数据库课程的学习内容 数据库的4个基本概念: 数据:描述事物的符号记录称为数据。 数据的含义成为数据的语义,数据与其语义是不可分割的。 数据库:数据库是长期存储在计算机内、有组织、可共享的…

Netty核心组件ChannelPipeline事件handler源码解析

源码解析目标 当请求进来,ChannelPipeline如何协调内部这些Handler通过源码梳理ChannelPipeline 与ChannelHandlerContext中的read,fireChannelRead等方法的不同 inbound源码解析 在 Netty启动流程源码剖析 文中我们已经知道,启动后&#…

公司项目vue cli2升级到vue cli3

背景:公司项目历时时间较长,通过长时间的迭代,目前项目文件较多(src目录下有2217个文件),系统庞大, 之前通过vue cli2脚手架构建的项目框架,在本地开发时已经明显感觉到吃力&#xf…

Win10+vs2019配置与运行RenderMatch(踩坑记录)

Win10vs2019配置与运行RenderMatch RenderMatch旨在解决aerial images 和ground images 匹配问题,其思路可参考原论文 “Leveraging Photogrammetric Mesh Models for Aerial-Ground Feature Point Matching Toward Integrated 3D Reconstruction” 1.源码下载 G…

【2023new】OAK相机如何将Yolov5转换成blob格式?

编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 ▌前言 Hello,大家好,这里是OAK中国,我是助手…

机械革命极光Pro电脑开启出现英文代码无法启动怎么办?

机械革命极光Pro电脑开启出现英文代码无法启动怎么办?有的小伙伴在使用机械革命极光Pro电脑的时候,正常开启电脑却无法进入到桌面中,而是显示一些英文错误提示。遇到这个问题是我们的系统故障了,可以通过U盘重装系统的方法来进行问…

logback 自定义日志输出到数据库

项目日志格式 Spring Boot 的默认日志输出类似于以下示例: 2021-12-14 22:40:14.159 INFO 20132 --- [ main] com.kuangstudy.SpringbootApplication : Started SpringbootApplication in 2.466 seconds (JVM running for 3.617)输出以下项目&…

SpringBoot 整合 MongoDB 6 以上版本副本集及配置 SSL / TLS 协议

续上一篇 Linux 中使用 docker-compose 部署 MongoDB 6 以上版本副本集及配置 SSL / TLS 协议 前提:此篇文章是对上一篇文章的实战和项目中相关配置的使用,我这边针对 MongoDB 原有基础上做了增强,简化了 MongoDB 配置 SSL / TLS 协议上的支…

Android Studio引入JNI第三方库

一、前言 JNI作为Java与native沟通的桥梁,项目开发中难免要使用到;而我们除了自己开发JNI之外,有时候还要在Android Studio引入别人开源的C第三方库,并在jni层实现第三方库的调用。 二、流程 1.导入头文件和实现文件 将第三方…

Linux内核进程地址空间与进程内存布局

一,进程空间分布概述 对于一个进程,其空间分布如下图所示: 程序段(Text):程序代码在内存中的映射,存放函数体的二进制代码。初始化过的数据(Data):在程序运行初已经对变量进行初始化的数据。未初始化过的数据(BSS):在程序运行初未…

九龙证券|券商春季策略扎堆来袭 风格切换成焦点

2月以来,国泰君安、中信建投、国金证券等10余家券商组织相继发布2023年春季战略。综合来看,组织对A股持达观预期,未来两三个月A股商场或迎来重要切换。风格上,“中心财物,生长接力”或许成为上半年装备主线&#xff0c…

java 系列之Mybatis

java 系列文章 文章目录java 系列文章前言一、Mybatis 入门1.1 认识 框架(了解)1.2 认识 ORM(要知道)1.3 认识 Mybatis(要知道)二、Mybatis 使用2.1 创建maven项目并导入依赖2.2 准备数据库,包和…

释放内存流程

你好,我是安然无虞。 thread cache回收内存 当从 thread cache 中申请的内存对象使用完毕需要还回来的时候, 只需要计算出该内存对象对应 thread cache 中的哪一个自由链表桶, 然后将该内存对象插入进去即可. 不过需要注意的是, 如果不断有内存对象释放回来, 那么…

Java实现根据拼音首字母的排序

1.项目 手机APP端要对企业列表按企业名称首字母(如果企业名是英文的就按)进行分类排序,效果如下: 2.实现过程 2.1 首先引入项目的pinyin4j-2.5.0.jar包。 这个jar的下载地址如下: 链接:https://pan.baidu.com/s/1hkP_gGAYcgzyK_D…

跨链桥:Web3黑客必争之地

跨链桥,区块链的基础设施之一,所实现的功能是允许用户将自己的资产从一条链转移至另外一条链上,是连接不同的区块链的关键桥梁,常使用中心化的方式进行实现。由于跨链桥自身往往存储有用户所质押的巨额资产,是Web3黑客…