MySQL2.字符集乱码

别再只盯着版图画了!聊聊CMOS工艺里那个‘看不见的手’:STI应力(LOD效应)对模拟电路的实际影响 本文深入探讨了CMOS工艺中STI应力(LOD效应)对模拟电路设计的实际影响,揭示了这一隐形变量如何导致电流镜匹配偏差等常见问题。通过分析应力产生的物理机制、空间分布特性,以及提供伪器件设计、版图布局优化等实用解决方案,帮助工程师有效管理STI应力效应,提升电路性能。文章还探讨了FinFET工艺下的新挑战及机器学习在应力优化中的应用前景。 阅读详情

MySQL2.字符集乱码

MySQL2.字符集

此节记录下MySQL出现乱码的原因。还是参考小册子~

字符集简介

计算机中只能存储二进制数据,建立字符与二进制数据的映射关系来存储字符。

从两方面考虑:
1.界定清楚字符范围,即哪些字符映射成二进制数据
2.怎么映射
将一个字符映射成一个二进制数据的过程叫做编码,将二进制数据映射到字符叫做解码。

人们抽象出一个字符集的概念来描述某个字符范围的编码规则。如用0001代表a字符

重要的字符集

  • ASCII
    共128个字符,使用1个字节来编码
  • ISO 8859-1 latin1
    256个字符
  • GB2312
    兼容ASCII,采用变长编码方式(表示一个字符需要的字节数可能不同),2个字节
  • GBK
    只是对GB2312作了扩充
  • utf8
    收录地球上所有能想到的字符,采用变长编码,一个字符需要使用1~4个字节。

MySQL中支持的字符集和排序规则

utf8 utfmb4

在MySQL中字符集表示一个字符所用最大字节长度在某些方面会影响系统的存储和性能。

所以MySQL中定义了两个概念:

  • utf8mb3:只使用1~3个字节表示字符,即utf8
  • utf8mb4:使用1~4个字节表示字符

字符集和比较规则的应用

各个级别的字符集和比较规则

MySQL有4个级别的字符集和比较规则

  • 服务器级别
  • 数据库级别
  • 表级别
  • 列级别

服务器级别:可以在启动服务器程序时通过启动选项或者在服务器程序运行过程中修改如下配置,

character_set_server=gbk
collation_server=gbk_chinese_ci

数据库级别:在创建和修改数据库的时候可以指定字符集和比较规则。

CREATE DATABASE 数据库名
    [[DEFAULT] CHARACTER SET 字符集名称]
    [[DEFAULT] COLLATE 比较规则名称];

ALTER DATABASE 数据库名
    [[DEFAULT] CHARACTER SET 字符集名称]
    [[DEFAULT] COLLATE 比较规则名称];
    
SHOW VARIABLES LIKE 'character_set_database';    

表级别:在创建和修改表的时候指定。如果没有指定,则默认使用该表所在的库的字符集。

列级别:对于存储字符串的列,同一个表中的不同列也可以有不同的字符集和比较规则。

CREATE TABLE 表名(
    列名 字符串类型 [CHARACTER SET 字符集名称] [COLLATE 比较规则名称],
    其他列...
);

ALTER TABLE 表名 MODIFY 列名 字符串类型 [CHARACTER SET 字符集名称] [COLLATE 比较规则名称];

修改字符集或仅修改比较规则

字符集和比较规则是互相有联系的

  • 只修改字符集,比较规则将变为修改后的字符集默认的比较规则
  • 只修改比较规则,字符集将变为修改后的比较规则的字符集

MySQL客户端和服务器通信中的字符集

从MySQL客户端向服务器发送请求到返回结果这个过程中经过3个系统变量:

  • character_set_client 请求时使用的字符集
  • character_set_connection 服务器处理请求时会把请求字符串从character_set_client转为character_set_connection
  • character_set_results 服务器向客户端返回数据时使用的字符集

服务器认为客户端发送过来的请求时用character_set_client;
服务器将把得到的结果集使用character_set_results返回给客户端;
character_set_connection只是服务器在将请求的字节串从character_set_client转换为character_set_connection时使用,要注意的是该字符集包含的字符范围一定涵盖请求中的字符。

为此,MySQL提供了set names 字符集名来统一这3个字符。

比较规则

作用通常体现在比较字符串大小的表达式以及某个字符串列进行排序,所以也称为排序规则。

posted @ 2019-04-28 21:07 yeevan 阅读( ...) 评论( ...) 编辑 收藏
手把手教你搞定CAC会议投稿:从LaTeX模板到PDF eXpress避坑全流程 本文详细解析CAC会议投稿全流程,重点介绍LaTeX模板调整、Turnitin查重技巧及PDF eXpress校验避坑指南。通过实战案例和代码示例,帮助研究者高效完成IEEE格式论文投稿,避免常见技术性失误,提升投稿成功率。 阅读详情

相关推荐

基于GIS的生态安全网络格局构建(附练习数据下载)

基于GIS的生态安全网络格局构建(附练习数据下载)

qq_43173805的博客 3124

修改查看MYSQL字符集(charset)

查看mysql的字符集mysql> show variables like 'collation_%';+----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connec

sunlanchang的博客 3103

ICDAR数据集简介

ICDAR(文档分析与识别国际会议)是OCR领域的权威会议,每两年发布一次数据集,专注于‌自然场景文本检测与识别‌,涵盖多语言、复杂版式和真实环境挑战。街景、广告牌、票据、手写文档等真实场景图像。包含水平、垂直、倾斜、弯曲文本,背景干扰大,部分文本存在遮挡或模糊。提供文本位置坐标(矩形/四边形框)及内容,无法识别的文本标记为###。以上总结提炼了ICDAR的核心价值与应用方法论。给出最佳实践方法是官网数据预训练模型 + 业务数据微调(比如用PPOCRLabel标注100+张业务图)。

xinghaitao2005的博客 1117

mysql中charset()作用_MySql中charset 和 collation的设置

Mysql中的charset 和 collation 有多个级别的设置:服务器级、数据库级、表级、列级和连接级1.服务器级查看设置:show global variables like 'character_set_server'; 和 show global variables like 'collation_server';修改设置:在OPTION FILE (/etc/mysql/my.cn...

weixin_34093753的博客 1334

分享通达信破解交易接口的使用!

那其实通达信破解交易接口的使用方法比较复杂,这里以MA均线指标为例子,只要理解了这些操作步骤,就可以很容易地使用其他指标包括自己编写的指标来进行交易。委托结果(包含委托编号), 需要分配 1024*1024 字节的空间。委托结果数组, 每项结果需要分配 1024*1024 字节的空间。0: 买入, 1: 卖出, 2: 融资买入, 3: 融券卖出,4: (市价委托)上海五档即成剩撤, 深圳五档即成剩撤。4: 买券还券, 5: 卖券还款, 6: 现券还券。0: 上海限价委托, 深圳限价委托。

1841085904的博客 2358

MySql数据库系统字符集

引用自:https://www.cnblogs.com/chyingp/p/mysql-character-set-collation.html 一、内容概述 在MySQL的使用过程中,了解字符集、字符序的概念,以及不同设置对数据存储、比较的影响非常重要。不少同学在日常工作中遇到的“乱码”问题,很有可能就是因为对字符集与字符序的理解不到位、设置错误造成的。 本文由浅入深,分别介绍了如下内容: 字符集、字符序的基本概念及联系 MySQL支持的字符集、字符序设置级,各设置级别之间的联系 ser.

cibiren2011的专栏 1157

安卓手机老版本微信无法登录?无需root 一招教你如何搞定!旧版本照样登录,微信7.0亲测有效

微信我试了清缓存、用不同的版本、甚至关网登录都不行。于是我研究了一下背后的原理,发现这不仅是个技巧,还是微信设计的一点“疏忽”——**只要有方法,旧版本照样能用**。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1万+

centos 7.2中xampp mysql 数据字符集设置解决中文乱码

centos 7.2中xampp mysql 数据字符集设置解决中文乱码从终端进入mysql[root@VM_172_94_centos etc]# /opt/lampp/bin/mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connec

lanhaixuanvv的博客 994

【AIGC】大模型面试高频考点09-大模型Agent框架

聚焦AIGC专业技术分享

一个内容严谨、方向前沿、极具实践价值的AI大模型技术分享站 1967

YOLOv13添加WDBB模块,map提升5.34!!,召回率提升6.55,准确率提升3.23

本文提出了一种基于YOLOv13改进的目标检测模型,通过引入WDBB模块显著提升了检测性能。实验结果表明,添加WDBB模块后,mAP提升11.34,召回率提升14.55,准确率提升3.23。文章详细介绍了模型移植方法,包括创建新的yaml配置文件、修改tasks.py和__init__.py文件,以及实现rep_block.py中的核心转换函数。改进后的模型通过深度卷积、通道注意力等模块优化了特征提取能力,同时保持了轻量化的特点。该工作为YOLO系列模型的性能提升提供了新的思路和技术实现。

FJN110的博客 2623

mysql 找不到cs2.pid_mysql 字符集乱码及解决方案

1、简介字符集是一套符号和编码的规则,不论是在oracle数据库还是在mysql数据库,都存在字符集的选择问题,而且如果在数据库创建阶段没有正确选择字符集,那么可能在后期需要更换字符集,而字符集的更换是代价比较高的操作,也存在一定的风险,所以,我们推荐在应用开始阶段,就按照需求正确的选择合适的字符集,避免后期不必要的调整。2、乱码演示mysql>showvariableslike'c...

weixin_31629913的博客 143

uniapp:详细ios本地离线打包完整流程,使用XCode苹果本地离线打包APP,UNIAPP IOS离线打包并上传到上传到App Store应用商店(mac环境 Uniapp iOS本地离线打包)

uniapp ios 本地离线打包(攻略),iOS App打包发布上架,uni-app项目离线打包之iOS,uni-app实现XCode苹果本地离线打包APP,UNIAPP之IOS离线打包,iOS开发打包ipa,uniapp 打包 IOS,uniapp ios app离线打包配置,uniapp打包离线App(ios),uniapp ios打包详细步骤,最新版iOS Xcode如何证书配置和ipa打包(附图文教程)uniapp申请ios证书,uniapp iOS打包,证书申请,XCode打包IOS应用发布Ap

✅ 精选推荐文章 4506

struts2 mysql 乱码_struts2项目插入中文到mysql数据库乱码的解决方法

项目又出了一些小问题,在更新/插入中文数据到mysql数据库时会显示问号。我做了如下工作解决了问题:1. 检查页面编码将所有的jsp页面编码方式、字符集更改为2. 更改数据库字符集/编码方式将mysql配置文件my.ini相关内容改为[mysql]default-character-set=utf8character-set-server=utf8在mysql命令行运行以下代码(是否有必要存疑)s...

weixin_30000407的博客 209

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

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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

mysql中文乱码

关于这个题目的探讨网上的文章已经是多如牛毛了,今天我也来凑个热闹。主要是我最近也是被这问题折磨的够呛。 不过经过一番的折腾这个问题最终还是被我解决了,[color=red]最主要的一点就是要保证数据库端到前台页面字符集的一致性[/color]。而数据端字符集的一致性又包括整个server、database和table这三者的字符集一致性(一切麻烦的根源都是由于mysql的特殊性造成的,而这个所谓...

martintree 163

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

mysql 中文乱码问题解决方法

MySQL乱码问题的解决:首先,进入MySQL的安装目录,找到my.ini文件,找到[client] port=3306[mysql]default-character-set=gbk把default-character-set设置成gbk,这个设置是设置客户端,default-character-set表示我们输入的字符编码市gbk格式的,默认是latin1(即ISO-8859-1),否则会出现

Andes Home 千年的塔 -十年技术,风雨兼程 1193

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

php mysql出现乱码_关于使用php和mysql出现乱码3个终极解决方法

今天体验pear的mdb2出现了不少情况,特别出现乱码很烦人,贴一下解决的方法,还有好的方法请告诉我1.mysql数据库不知道为什么刚开始感觉字符集出现了问题,phpadmin中也出现乱码,说明字符集出席那问题了但我在phpmyadmin中把字段的字符集改成了utf8,但还是显示乱码,但在phpmyadmin中显示正常,说明数据库应该没问题。2.php可能pager_wrapper_mdb2出现问...

weixin_42522045的博客 143

red hat 7.2下mysql中文乱码问题

red hat 7.2下mysql中文乱码问题 安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件;由于linux下MySQL的默认安装目录分布在不同的文件下;不像windows一样放在同一目录下,只需修改其中的my.ini文件,重起后就生效了;所以先来看看linux下MySQL的数据库文件、配置文件和命令文件分别在不

黑狼头 586

python查询mysql乱码_python查询mysql中文乱码问题

问题:python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码---可能情况:1.mysql数据库各项没有设置编码,默认为'latin'2.使用MySQL.connect的时候没有设置默认编码3.没有设置python的编码,python2.7默认为'ascii'4.没有解码---解决方法:1.设置mysql的编码ubuntu执行下列语句:** sudo vim /etc/mysql...

weixin_36024106的博客 321

技术分享 | MySQL 字符集再探

作者:傅同学 爱可生研发部成员,主要负责中间件产品开发,热衷技术原理。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本公众号之前发表了一些关于MySQL字符集的文章: 从utf8转换成utf8mb4 、 字符集相关概念 、 有关SQL 语句 、 字符集注意事项 、 乱码问题. 近日, 在为 爱可生开源数据传输工具dtle 增加UTF-32字符集支持过程中,笔者又了解了一下 MySQL 字符集机制。下面补充说明一些内容: 1 字符集 ASCII .

ActionTech的博客 460

coremail mysql_coremail2.6+mysql安装过程级乱码解决方法

coremail2.6+mysql安装过程级乱码解决方法安装环境:redhat as 4所用软件:mysql-4.1.20-1.RHEL4.1.i386.rpmmysqlclient10-3.23.58-4.RHEL4.1.i386.rpmmysql-server-4.1.20-1.RHEL4.1.i386.rpmcm26.i386.RedHatAS.20061107-lib361.mlib553...

weixin_39649611的博客 427

Hibernate 3.2 与MySQL 5.6插入中文乱码问题

我的环境是Spring 3.0.5+Hibernate 3.2 与MySQL 5.6 WEB项目,在用户模块中创建用户时需要将用户对象写入表中。 在UserDaoImpl中采用getHibernateTemplate().saveOrUpdate(user);实现,英文和数字完全没问题。 中文用户名时,在调试输出的hql语句中,name属性也是正确的,可是写入MySQL表中之后成乱码 ??? ...

TechSong 947

mysql与jsp中文乱码问题_Mysql与JSP网页中文乱码问题的解决方案

Mysql与JSP网页中文乱码问题的解决方案自从以前学习JSP开始,中文乱码问题就一直不断,苦不堪言。这次在项目开始之前,我们要解决的第一个问题就是把mysql的中文乱码问题搞定。经过多天的努力,终于成功的解决了中文乱码问题,特写在这里,以备后用。软件及环境:Windows XP(2000), j2sdk1.4.2, Tomcat 5.0.25, mysql 4.1,EMS Mysql Man...

weixin_42402228的博客 839

ubuntu下mysql中文乱码_ubuntu mysql中文乱码解决

环境:Ubuntu 9.10 MYSQL 5.0.38 JDK 1.6 Ecplise 3.5.1 Hibernate 3.2 Mysql query browser 1.2.5bate java project开发过程中发现Insert的数据都是乱码,搜索了各种牛人的解决方案均未果。 尝试各种修改组合后终于解决。 1. 修改mysql的配置文件 sudo gedit环境:Ubuntu 9.10...

weixin_39530838的博客 167

php 查询mysql 乱码,如何做php查询mysql乱码

php查询mysql乱码的解决方案:1。修改PHP页面语言本身的编码类型;2.将MySQL字符集改为“utf8”;3.使用ultraplus中的编码转换功能进行转换。推荐:“PHP视频教程”php读取mysql中文数据中乱码的解决方案1.PHP页面语言本身的编码类型不适合。这时候你直接在剧本里写的中文肯定乱码了,更别说数据库了解决方法:选择& # 39;UTF8 & # 39或者&...

weixin_36039533的博客 216

cmd命令行mysql乱码解决方法_mysql命令行显示乱码的解决方法

mysql命令行显示乱码的解决方法:1、打开my.ini配置文件;2、修改配置【default-character-set=utf8】;3、改变数据库的编码方式,如【set character_set_connection=gb2312】。解决方法:(推荐教程:mysql教程)1、找到安装mysql的目录找到 my.ini 文件;2、使用记事本打开my.ini文件,按照如下配置进行修改# MySQ...

weixin_32951341的博客 722
上一篇: MySQL1:客户端/服务器架构
下一篇: MySQL-3 行记录的存储结构
github_37030657
博客等级 码龄10年 4粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值