Mysql编码|学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 快速学习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、

Resultconnectio

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
8月前
|
存储 关系型数据库 MySQL
MySQL索引学习笔记
本文深入探讨了MySQL数据库中慢查询分析的关键概念和技术手段。
569 81
|
11月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
294 6
|
SQL Oracle 关系型数据库
MySQL学习笔记
MySQL学习笔记
93 0
|
11月前
|
SQL 关系型数据库 MySQL
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
MySQL中用于数据检索的`fetchone()`, `fetchmany()`, `fetchall()`函数的功能、SQL语句示例和应用场景。
289 3
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
|
11月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
206 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
10月前
|
SQL 关系型数据库 MySQL
|
11月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
154 1
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
139 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
536 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
86 6

推荐镜像

更多