Mysql 编码原理--中文乱码

举报
brucexiaogui 发表于 2021/12/30 00:25:41 2021/12/30
【摘要】 Mysql 编码原理--中文乱码 一、mysql编码原理 mysql编码类型分为:1、服务器编码 (默认ISO-8859-1) 2、数据库编码(默认ISO-8859-1)  3、数据库表格编码 4、客户端编码  5、客户端和数据库连接编码  6、结果集编码 m...
Mysql 编码原理--中文乱码

一、mysql编码原理
mysql编码类型分为:1、服务器编码 (默认ISO-8859-1) 2、数据库编码(默认ISO-8859-1)  3、数据库表格编码
4、客户端编码  5、客户端和数据库连接编码  6、结果集编码
mysql编码类型图标:
二、mysql编码类型介绍
1、客户端编码:用来识别数据库端返回的字符格式。
2、connection连接编码:主要是将客户端发送的字符根据设置的传输格式进行编码,传输给服务器端的数据库
3、数据库编码:主要是接受客户端传输来的编码,根据设置的编码格式进行解码保存到数据库的表格字段中
4、表格编码: 数据库设置编码格式后,再创建的表格编码格式默认和数据库编码一致
5、结果集编码:表示数据库将以什么编码格式返回给客户端。

三、解决中文乱码
1、RDBMS数据库服务器默认是ISO-8859-1编码,不需要进行设置。同Tomcat服务器默认IOS编码原理一样
2、数据库编码必须设置成可以识别中文的字符集编码,如:GBK或UTF8
3、客户端、connection、结果集、数据库、四个编码必须一致,可以设置成GBK或UTF8

四、查看当前编码类型
1、输入 SHOW VARIABLES LIKE 'char%';

五、设置编码格式
1、修改数据库成utf8. 
alter database 数据库名称 character set utf8;


2、修改表默认用utf8. 
alter table 表格名称 character set utf8;


3、修改字段用utf8 
alter table 表格名称 modify 字段名称 varchar(50) CHARACTER SET utf8;

4、修改客户端编码
SET character_set_client = utf8;

5、修改connection连接编码
SET character_set_connection = utf8;

     6、修改结果集编码
SET character_set_results = utf8;

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/77602574

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。