Mysql编码|学习笔记

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 快速学习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 
相关文章
|
运维 监控 网络安全
全能型终端工具MobaXtermv23.0专业版
全能型终端工具MobaXtermv23.0专业版
484 0
|
消息中间件 JSON 数据格式
查看rabbitmq日志,Rabbitmq Trace日志
查看rabbitmq日志,Rabbitmq Trace日志
1398 2
|
SQL 安全 网络安全
漏洞扫描的主要功能是什么?
漏洞扫描工具识别并评估系统中的安全漏洞,包括发现缓冲区溢出、SQL注入等问题,进行漏洞分类、风险评估和生成报告。重要的是选择合适工具,设定扫描参数,定期更新规则,并与其他安全措施结合使用。定期扫描能降低被攻击风险,提升系统安全性。
漏洞扫描的主要功能是什么?
|
消息中间件 Oracle 关系型数据库
实时计算 Flink版操作报错合集之一直无法正常运行,并且网络状况良好,是什么原因导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
272 8
|
11月前
|
弹性计算 运维 自然语言处理
OS Copilot综合功能测试
作为一名初级运维工程师,我主要负责服务器的基础运维操作。最近使用了阿里云的OS Copilot工具,其 `-t`、`-f` 和 | 功能极大地提升了我的工作效率。 -t 功能帮助我查询环境状态,解决了许多配置问题。 -f 功能支持多任务处理,例如搭建并测试Nginx服务。 | 功能可辅助分析文件内容,简化了复杂日志和脚本的解读。 建议:希望未来版本中能合并 `-t` 和 `-f` 的功能,并添加直接获取最高权限操作的参数,进一步提升效率。
203 8
IDEA如何设置取消 请不要使用行尾注释 提示
文章介绍了如何在 IntelliJ IDEA 中设置以取消行尾注释的提示。这个问题通常由使用阿里规范插件导致,插件会在不满足规范时在代码中显示黄色波浪线提示。为了改善代码编辑体验,文章提供了详细的步骤说明,指导用户通过进入 "File" -> "Settings" -> "Editor" -> "Inspections" 来取消特定检查项,从而消除这些提示。修改设置后,代码界面将不再显示黄色波浪线,看起来更加清爽。
IDEA如何设置取消 请不要使用行尾注释 提示
|
前端开发
一键复制微信聊天框效果:HTML+CSS让网页聊天更生动!
一键复制微信聊天框效果:HTML+CSS让网页聊天更生动!
|
存储 人工智能 自然语言处理
AI时代新宠,向量数据库
这篇文章介绍了向量数据库在生成式人工智能应用和大语言模型发展中的重要性,并介绍了几种主流的向量数据库产品,包括Milvus、Pipecone、Chroma、Weaviate、pgvector等。这篇文章详细介绍了向量数据库的概念和主流产品,对于了解向量数据库在人工智能领域的应用具有很好的参考价值。转载来自知乎:https://zhuanlan.zhihu.com/p/664747312,很好的科普文,自己收藏用。
|
SQL 网络安全
sql注入--handler语句--一文详细解说其原理和方法
🍀了解通过利用handler语句完成注入的方法
661 0
sql注入--handler语句--一文详细解说其原理和方法
|
SQL 存储 关系型数据库
分布式数据库——从线性扩展谈分布式JOIN
在首届阿里巴巴中间件峰会上,来自阿里巴巴DRDS团队的梦实分享了《分布式数据库——从线性扩展谈分布式JOIN》。他主要从OLTP数据库的线性扩展、水平扩容、IN查询、分布式JOIN四个方面进行了分享。在分享中,他主要通过买家与订单场景、家庭与孩子场景介绍了IN查询,通过同维度的JOIN、广播表的JOIN、Nested Loop Join详细介绍了分布式JOIN的坑与填坑。
9939 82

热门文章

最新文章