Mysql编码|学习笔记

简介: 快速学习Mysql编码

开发者学堂课程【SQL进阶及查询练习:Mysql编码】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/36


Mysql编码

内容简介:

一 :查看mysql数据库编码

二: 编码解释

三: 控制台乱码问题

四: 指定默认编码

1.查看mysql数据库编码

*SHOW VARIABLES LIKE"char:

2.编码解释

*character set client :Mysql使用该编码来解读客户端发送过来的数据,例如该码为UTF8,那么如果客户端发送过来的数据不是utf8,那么就会出现乱码

*character set result:Mysql会把数据转换成该编码后,再发送给客户端,例如该编码为UTF8,那么如果客户端不使用UTF来解读,那么就会出现乱码。其它编码只要支持中文即可,也就是说不能使用latin1。

3.控制台乱码问题

*插入或修改时出现乱码:

>这是因为cmd默认模式下使用GBK,而character set client不是GBK的原因。我们只需让这两个编码相同即可。

*查询出的数据为乱码:

>这是因为character set results不是GBK,而cmd默认使用GBK的原因。我们只需让这两个编码相同即可。

>因为修改cmd的编码不方便,所以我们去设置character set result:为GBK即可。

*设置变量的语句:

>set character set clsent-gbk:

> set character set clsent-gbk:

注意,设置变量只对当前连接有效,当退出窗口后,再次登录mysql,还需再次设置变量。为了一劳永逸,可以在my.ini中设置:

设置default-chararcter-set=gbk即可。

4. 指定默认编码

我们在安装mysql 时已经指定了默认编码为utf8,所以我们在创建数据库、创建表时都无需再次制定编码。

为了一劳永逸,可以在my.ini中设置:

设置charaster-set-server=utf8即可。

Character set client | ->mysql把客户端传递的数据都当成是utf8!一是他传给utf8,二是如果我们传递的是x,那么需要修改这个变量为eastes et. Datas.

Character set connection | utf8

Character set results | utf8 -->mysql发送给客户的数据都是utf8的,一是客户用utf8编码,二是如果客户端使用gbk来码,那么需要修改这个变量为

Character set serever | utf8

Character set system | utf8

Character setclient = utf8,,无论客户发的是什么的编码的数据,mysql都当是utf8的数据。

>若客户端发送的是GBK

>服务器会当成是utf8对待

>总结:必然乱码。

处理问题的手段有两种:

>让客户端发送utf8的数据(行不通)

>把character_set_client修改为gbk

Set character_set_client =gbk;-->只有在当前窗口内有效,所以关闭窗口后再打开,又回到utf8了。

Character_set_result = utf8 ,把数据用什么编码发送给客户端。

>若服务器发送给客户端的是utf8的数据

>客户端会把他当成gbk,因为小黑屏,只能显示gbk.

>总结:必然乱码。

处理问题有两种手段:

>让服务器发送gbk的数据

>让小黑屏使用utf8来解读(行不通)

My.in1

在总配置文件中进行执行,可以一劳永逸

[client]

Port=3306

[mysql]

Default-character-set = gbk /* 它可以一劳永逸!它可以修改三个变量: client、

Result、connectio

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Linux 数据安全/隐私保护
【转】阿里云服务器入门使用流程 新手学习教程
一、阿里云根据个人需要选合适的云服务器,选好cpu、内存、带宽,地域,这四个是主要的。其他可以默认选择。
5813 1
【转】阿里云服务器入门使用流程 新手学习教程
|
弹性计算 固态存储 大数据
阿里云服务器CPU处理器Intel Xeon(Cascade Lake) Platinum 8269CY
阿里云服务器ECS实例CPU处理器Intel Xeon(Cascade Lake) Platinum 8269CY
1680 0
 阿里云服务器CPU处理器Intel Xeon(Cascade Lake) Platinum 8269CY
|
缓存 固态存储 Linux
配置ArchLinux系统环境
中的更新信息,若存在,则仅下载已更改的部分用于“增量更新”(delta-update)最新版本。模型中,应用的构建和分发不依赖其主系统,并且运行时一定程度上独立于主系统(‘沙箱化’)。命令都是全局可用的,具体来说,软件包是安装给当前机器的所有用户的,并且要求用户提供。可使用简单的一条指令,实现软件包管理,不用关心各种依赖和文件路径的情况,十分方便快捷。① 将下载好的字体复制或转移到字体文件夹内,若没有字体文件夹,则创建该文件夹。② 将下载好的字体导入到安装好的字体管理器中,即可完成字体安装。
1969 0
配置ArchLinux系统环境
|
前端开发 Java Serverless
玩转《天猫精灵技能平台》,搞一个诗词问答小游戏
看了中国诗词大会,必须要自己搞一个诗词问答小游戏。 文章最后还有一个思路,非常简单的思路,大家可以试着去实现一下。
14281 5
玩转《天猫精灵技能平台》,搞一个诗词问答小游戏
|
存储 自然语言处理 算法
公共云语音转文本能力介绍及使用说明 | 学习笔记
快速学习公共云语音转文本能力介绍及使用说明
公共云语音转文本能力介绍及使用说明 | 学习笔记
|
Web App开发 前端开发 测试技术
浏览器失控的后退按钮?——Chrome的导航安全策略
你是否遇到过浏览器后退按钮失灵的情况?其实这又是浏览器的安全策略导致的,不妨来瞅一瞅到底是怎么回事?
1211 2
|
云安全 弹性计算 运维
阿里云自带公网IP上云(BYOIP)产品解读
2020年6月11日,在阿里云“企业出海全球化网络新品发布会”上,阿里云洛神云网络宣布弹性公网IP产品全面升级,推出自带公网IP上云解决方案。本文将对此方案进行产品解读。
4929 0
阿里云自带公网IP上云(BYOIP)产品解读
|
流计算 API 存储
Apache Flink 零基础入门(五):流处理核心组件 Time&Window 深度解析
为什么要有 Window; Window 中的三个核心组件:WindowAssigner、Trigger 和 Evictor;Window 中怎么处理乱序数据,乱序数据是否允许延迟,以及怎么处理迟到的数据;最后我们梳理了整个 Window 的数据流程,以及 Window 中怎么保证 Exactly
Apache Flink 零基础入门(五):流处理核心组件 Time&Window 深度解析
|
JavaScript API 开发工具
【OSS最佳实践】WEB站点中如何应用OSS产品
OSS提供了海量、安全、低成本、高可靠的云存储服务,用户可以通过SDK、API、OSS相关工具等在WEB端应用集成OSS。OSS的优势在于:OSS服务器性能较好,OSS单个bucket存储空间大小不限制,OSS单个bucket出入带宽限制5Gb以上(故大部分情况下,上传下载速度是取决于客户端的带宽)。
11873 0
|
数据采集 存储 监控
阿里云InfluxDB技术内幕
阿里云InfluxDB基于开源InfluxDB,提供和开源InfluxDB完全相同的API和使用生态,并进一步对开源InfluxDB在内存使用等方面做了优化提升,增强了服务的稳定性。阿里云InfluxDB还基于开源Telegraf提供了智能化的数据采集端,覆盖Telegraf原有的所有功能,并大幅提升了使用的便捷性。
3763 0