关于MySQL中的8个 character_set 变量说明

MySQL全局变量character_set_server和collation_connection参数含义 作者:禅与计算机程序设计艺术 1.简介 MySQL是一个开源数据库管理系统,由瑞典MySQL AB公司开发和发布。在很多公司中被作为数据库服务器使用。其中涵盖了诸如商业、金融、政务等应用领域。MySQL数据库中的数据存储用UTF-8字符编码,所以数据表的字段字符集和排序规则均设定为utf8。一般情况下, 阅读详情

 本篇会简单介绍在 MySQL 中关于 8个 character_set 变量的基本作用。
  
  使用下列SQL语句可以查看 MySQL中8个 character_set 变量

SHOW VARIABLES LIKE '%char%';
  • 1

 

character_set 变量

 

8个 character_set 变量:

  一、character_set_client

  二、character_set_connection

  三、character_set_database

  四、character_set_filesystem

  五、character_set_results

  六、character_set_server

  七、character_set_system

  八、character_sets_dir



 


一、character_set_client

  主要用来设置客户端使用的字符集。

二、character_set_connection

  主要用来设置连接数据库时的字符集,如果程序中没有指明连接数据库使用的字符集类型则按照这个字符集设置。

三、character_set_database

  主要用来设置默认创建数据库的编码格式,如果在创建数据库时没有设置编码格式,就按照这个格式设置。

四、character_set_filesystem

  文件系统的编码格式,把操作系统上的文件名转化成此字符集,即把 character_set_client转换character_set_filesystem, 默认binary是不做任何转换的。

五、character_set_results

  数据库给客户端返回时使用的编码格式,如果没有指明,使用服务器默认的编码格式。

六、character_set_server

  服务器安装时指定的默认编码格式,这个变量建议由系统自己管理,不要人为定义。

七、character_set_system

  数据库系统使用的编码格式,这个值一直是utf8,不需要设置,它是为存储系统元数据的编码格式。

八、character_sets_dir

  这个变量是字符集安装的目录。


在启动mysql后,我们只关注下列变量是否符合我们的要求

  • character_set_client
  • character_set_connection
  • character_set_database
  • character_set_results
  • character_set_server

下列三个系统变量我们不需要关心,不会影响乱码等问题

  • character_set_filesystem
  • character_set_system
  • character_sets_dir

更改以上字符集直接 set character_set_XXX = “gbk”;(XXX是写以上的变量名)


借助网上的一个完整的用户请求的字符集转换流程来更好的理解上述几个变量:

  1. mysql Server收到请求时将请求数据从 character_set_client 转换为 character_set_connection
  2. 进行内部操作前将请求数据从 character_set_connection 转换为内部操作字符集,步骤如下
      A. 使用每个数据字段的 CHARACTER SET 设定值;
      B. 若上述值不存在,则使用对应数据表的字符集设定值
      C. 若上述值不存在,则使用对应数据库的字符集设定值;
      D. 若上述值不存在,则使用 character_set_server 设定值。
  3. 最后将操作结果从内部操作字符集转换为 character_set_results

 

字符集转换流程

注意 set指令只是临时生效,如果想永久生效可以到mysql的安装目录下找到my.ini文件,修改里面对应的配置信息即可。

电子发票二维码背后的秘密:10分钟看懂校验码、加密字符含义与防伪设计 本文深入解析电子发票二维码的结构与防伪设计,揭示校验码和加密字符的生成原理及验证方法。通过实际案例和技术细节,帮助财务人员理解电子发票的安全机制,提升防伪识别能力,确保税务合规。 阅读详情

相关推荐

工作中SVN的使用,保姆级教程!

SVN是一款集中式版本控制系统,采用客户端-服务器模式管理代码版本。与Git相比,SVN在目录权限控制、大型二进制文件处理等方面具有优势,适合特定场景使用。本文介绍了SVN的安装方法、基本操作(检出、提交、更新、回滚等)以及分支管理(创建、合并、切换)。同时讲解了文件冲突的解决方法,并演示了如何在IDEA中集成SVN工具。SVN虽然逐渐被Git取代,但在某些特定场景下仍是可靠选择,工具选择应基于团队和项目需求。

胜人者有力,自胜者强! 1853

MySQL 中关于 8个 character_set 变量的基本作用

简单介绍在 MySQL 中关于 8个 character_set 变量的基本作用。    使用下列SQL语句可以查看 MySQL中8个 character_set 变量 SHOW VARIABLES LIKE '%char%'; 8个 character_set 变量:   一、char...

chunqiqian1285的博客 1510

量化实战:用三种波动率模型给你的期货策略做个“体检”(附Python代码与螺纹钢案例)

本文深入探讨了三种专业波动率模型(Parkinson、Garman-Klass和Rogers-Satchell)在期货量化策略中的应用,并以螺纹钢期货为例,展示了如何通过Python实现这些模型进行多维度波动率分析。文章详细比较了不同模型的特点和适用场景,提供了动态仓位管理、止损策略优化等实战应用方案,帮助交易者更精准地评估市场风险,优化策略表现。

weixin_26824299的博客 460

MySQL-解析客户端SQL执行字符集参数设置

在使用SQL进行查询时,有时会遇到客户端查询返回乱码或者查询结果异常的问题,造成这些问题的主要原因为字符集的参数character_set_client,character_set_connection,character_set_results,collation_connection设置不合理导致,只有保证客户端环境字符集与数据库参数设置字符集一致,才能避免问题的发生。...

sinat_36757755的博客 4277

手把手教你搭建三端口DC-DC变换器(含Boost+Buck电路实战)

本文详细介绍了如何从零开始搭建三端口DC-DC变换器,涵盖Boost和Buck电路的硬件设计、元器件选型、电路板布局、焊接技巧、控制系统设计与调试等关键步骤。通过实战案例和优化建议,帮助工程师避开常见陷阱,提升系统效率和稳定性,适用于光伏、储能等电力电子应用场景。

x8y9z0的博客 929

G2O (General Graph Optimization)入门及简单使用

g2o全称是General Graph Optimization,也就是图优化,我们在做SLAM后端或者更加常见的任何优化问题(曲线拟合)都可以使用G2O进行处理。

晓晨的博客 1万+

MySQL | 关于MySQL中的8个 character_set 变量说明

MySQL | 关于MySQL中的8个 character_set 变量说明

默默提升实验室 2944

【肌电处理】肌电信号EMG积分肌电值+均方根值+中值频率+平均功率频率【含Matlab源码 3386期】

肌电信号EMG积分肌电值+均方根值+中值频率+平均功率频率 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 822

mysql character_set_results取值_MySQL中8个character_set变量说明

本篇会简单介绍在 MySQL 中关于 8个 character_set 变量的基本作用。使用下列SQL语句可以查看 MySQL中8个 character_set 变量SHOW VARIABLES LIKE '%char%';8个 character_set 变量:character_set_client主要用来设置客户端使用的字符集。character_set_connection主要用来设置连接...

weixin_34538771的博客 2128

【图论】系列(七)图论的中心性度量方法及重要性评价指标

图论中的中心性度量方法是用来衡量图中各个节点(或顶点)相对重要性的指标。

qq_30066733的博客 1076

python代码实现了一个基于图注意力网络(GAT)和长短期记忆网络(LSTM)的股票成交量预测模型

自定义数据集类:定义了类,继承自。该类用于生成股票数据的时间序列样本,每个样本包含一个长度为seq_length的时间序列和对应的目标成交量。数据加载器:使用DataLoader对数据集进行批量加载,设置批量大小为 64,并开启数据打乱功能。GAT - LSTM 模型:定义了GAT_LSTM类,继承自。该模型结合了 GAT 和 LSTM 两种神经网络:GAT 部分:使用GATConv处理全局图特征,捕获股票之间的相互关系。LSTM 部分:使用nn.LSTM处理时间序列数据,捕捉时间序列的动态变化。

huanghm88的专栏 424

sql server 定义变量_关于MySQL中的8个 character_set 变量说明

# 关于MySQL中的8个 character_set 变量说明> 版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢! > 本文网址:[https://blog.youkuaiyun.com/sun8112133/article/details/79921734](https://blog.youkuaiyun.com/sun8112133/article/details/7992...

weixin_39623671的博客 353

【零基础学习CAPL】——CAN报文的发送(CRC——ChecSum值)

本章主要介绍带有CRC值的报文发送一般报文可使用CANoe的IG模块直接发送,但带有CRC值的报文就只能编写脚本进行发送,以下详细讲解在配合Panel面板情况下,如何进行带有循环冗余码的报文进行报文的发送。

LOVE135149的博客 1913

mysql时间格式转换_关于MySQL中的8个 character_set 变量说明

# 关于MySQL中的8个 character_set 变量说明> 版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢! > 本文网址:[https://blog.youkuaiyun.com/sun8112133/article/details/79921734](https://blog.youkuaiyun.com/sun8112133/article/details/7992...

weixin_39524574的博客 148

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

mysql字符集

在 MySQL 中关于 8个 character_set 变量的基本作用 通过sql可以查看: SHOW VARIABLES LIKE '%char%'; character_set_client : 用来设置客户端使用的字符集,一般用来设置数据传输和SQL传输的字符集。 character_set_connection : 用来设置连接数据库时的字符集,如果程序中没...

xinyuan的专栏 488

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Mysql数据库插入中文出现乱码相关

查看数据库编码的命令:show variables like "character%"; mysql> show variables like "character%"; +--------------------------+----------------------------+ | Variable_name | Value ...

weixin_30547797的博客 68

gb18030 mysql_mysql无法识别OS Characterset GB18030的处理

[前言: 前面的Mac OS X Leopard: 配置Apache, PHP, SQLite, MySQL, and phpMyAdmin(一)中主要介绍了Leopard内置的Apache和PHP的设置, 这里要介绍的是MySQL和phpMyAdmin的安在linux SHELL中输入mysql会有类似mysql无法识别OS Characterset GB18030, mysql:Unkn...

weixin_39564368的博客 877

MySQL · 答疑解惑 · set names 都做了什么

背景 最近有同事问,set names 时会同时设置了3个session变量 SET character_set_client = charset_name; SET character_set_results = charset_name; SET character_set_connection = charset_name; 就从变量名字来看,character_set_clien...

一只苟延残喘的卑微蝼蚁 6973

MySQL的character_set_server 修改不了?

在数据库管理和开发领域,MySQL作为最广泛使用的开源关系型数据库管理系统之一,其配置和优化一直是技术人员关注的重点。特别是在处理多语言和特殊字符时,的设置至关重要。然而,有些用户在尝试修改时遇到了问题,这不仅影响了数据的正确存储和检索,还可能导致数据损坏或乱码。本文将深入探讨无法修改的原因,并提供解决方案,帮助你在实际工作中更好地管理和优化MySQL。

cda2024的博客 545

MySQL-变量

系统变量分类 1. 查看MySQL文档的系统变量 2. 变量的定义 变量由系统定义,不是用户定义,属于 服务器 层面。 系统变量的值要么是编译MySQL时参数的默认值,要么是配置文件(例如my.ini等)中的参数值 3. 系统变量分类 系统变量分为全局系统变量(需要添加 global 关键字)以及会话系统变量(需要添加 session 关键字),如果不写,默认会话级别 有时也把全局系统变量简称为全局变量,有时也把会话系统变量称为local变量 静态变量(在 MySQL 服务实例运行期间它们的值

zl979899的博客 1644

MySQL的几个character_set变量的说明

参考:http://www.th7.cn/db/mysql/201412/84636.shtml MySQL关于character有如下8个变量: character_set_client character_set_connection character_set_database character_set_filesystem charac...

weixin_34308389的博客 424
上一篇: Mysql创建索引
下一篇: Linux系统的默认编码
wit_cx
博客等级 码龄9年 44粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值