返回顶部
首页 > 资讯 > 数据库 >设置MySQL字符集的具体方法
  • 987
分享到

设置MySQL字符集的具体方法

2024-04-02 19:04:59 987人浏览 安东尼
摘要

本篇文章给大家主要讲的是关于设置Mysql字符集的具体方法的内容,感兴趣的话就一起来看看这篇文章吧,相信看完设置mysql字符集的具体方法对大家多少有点参考价值吧。     

本篇文章给大家主要讲的是关于设置Mysql字符集的具体方法的内容,感兴趣的话就一起来看看这篇文章吧,相信看完设置mysql字符集的具体方法对大家多少有点参考价值吧。                                                           

字符集介绍

  • gbk/gb2312

    gbk/gb2312
    采用双字节字符集,不论中、英文字符均使用双字符来表示,为了区分中文,将其最高位都设定成1
    gb2312是gbk的子集,gbk是gb18030的子集,gb2312仅能存储简体中文字符
    gbk包括中日韩字符的大字符集
    通常使用gbk字符集足够
    国际通用性比utf8差,不过utf8占用的数据库比gbk大(utf8是三字节字符集)

  • utf8/utf8mb4

    UTF全称(Unicode TransfORMation Format),是Unicode的一种存储方式,可变长度字符编码,又称万国码;
    数据库字符集尽量使用utf8(包括 connect、result、及最终html页面都必须要求一致为utf8);
    UTF8使用可变长度字节来存储 Unicode字符,例如 ASCII字母继续使用1个字节存储,重音文字、希腊字母、或西里尔字母等使用2个字节来存储,而常用的汉字就要用3个字节;也就是一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。
    utf8mb4一个字符最多能存4字节,所以能支持更多的字符集;项目中常用utf8mb4存放emoji表情;
    latin1是8bit (1 bytes)字符集,但不能覆盖亚洲、非洲语言;
    unidoce是latin1的扩展,增加了亚洲、非洲常规语言支持,但仍不支持全部语言,且ASCII用unidoce来表示效率不高(小字符集转换成大字符集,往往便随的就是字符的丢失);
    utf8是unicode的扩展;
    gbk、gb2312等字符集与utf8之间都必须通过Unicode编码才能相互转换。

字符集使用建议

1、非常肯定只有中文终端用户时,可选择gbk / gb2312

2、为了方便数据迁移、以及多种终端展示,最好是utf8

3、字符无需区分大小写时,采用默认的xx_ci校验集可以,否则选择xx_bin校验集(生产环境中,尽量不要修改校验集)

4、默认字符集是latin1,该字符集存放汉字是分开存放,以至于检索结果时不够精确,好处就是节省空间,不推荐使用

Mysql字符集范围

服务器层(server) > 数据库成(database) > 数据表(table) > 字段(column) > 连接(connection) | 结果集(result)

MySQL字符集优先级

连接(connection) | 结果集(result) > 字段(column) > 数据表(table) > 数据库成(database) > 云服务器层(server)

char类型

char(N):N代表的是字符个数(也叫字符长度)、而非bytes
char(N):是固定长存储,占用定长的存储空间,不足的部分用空格填充;MySQL处理char(N)类型时,需要将空格strip掉后return。

存储空间:char(N)类型的存储空间和字符集有关系,结合刚才字符集的知识点,一个中文在utf8字符集中占用3个bytes、gbk占用2个bytes、数字和字符统一用一个字符表示。

存储机制:在不够N长度时,MySQL在存储数据时,需要用填充特殊的空格,而非十六进制的20

思考:
char(30),在不同的字符集中最多能存放多少个字母、汉字,以及占用空间情况
gbk: 可以存放30个字节 占用的空间30*2utf8:可以存放30个字节 占用的空间30*3

varcahr类型

varchar(N):N代表的是字符个数(也叫字符长度)、而非bytes
varchar(N):是变长存储,仅使用必要的存储空间.

存储空间:varchar(N)类型的存储空间和字符集有关系,结合刚才字符集的知识点,一个中文在utf8字符集中占用3个bytes、gbk统一占用2个bytes、数字和字符一个字符表示。

存储机制:varchar(N)字段存储实际是从第二个字节开始存储,然后用1到2个字节表示实际长度,剩下的才是可以存储数据的范围,因此最大可用存储范围是65535-3=65532字节;第一个字节标识是否为空.(长度小于255字节,使用一个字节来表示长度;大于255字节使用两个字节来表示长度)

修改数据库实例字符集

临时生效

mysql> set character_set = 'gbk';
mysql> set character_set_client = 'gbk';

全局生效

mysql> set global character_set_client = 'gbk';
Query OK, 0 rows affected (0.00 sec)

永久生效

vim /etc/my.cnf 
character-set-server=utf8

以上关于设置MySQL字符集的具体方法详细内容,对大家有帮助吗?如果想要了解更多相关,可以继续关注我们的数据库板块。

 

您可能感兴趣的文档:

--结束END--

本文标题: 设置MySQL字符集的具体方法

本文链接: https://lsjlt.com/news/36158.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 设置MySQL字符集的具体方法
    本篇文章给大家主要讲的是关于设置MySQL字符集的具体方法的内容,感兴趣的话就一起来看看这篇文章吧,相信看完设置MySQL字符集的具体方法对大家多少有点参考价值吧。      ...
    99+
    2024-04-02
  • MySQL字符集的设置方法
    这篇文章主要介绍了MySQL字符集的设置方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。一、内容概述在MySQL的使用过程中,了解字符集、字符...
    99+
    2024-04-02
  • MySQL字符集的概念及设置方法
    本篇内容介绍了“MySQL字符集的概念及设置方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • Android Dialog 设置字体大小的具体方法
    先看下面图片: 这是我在做登录页面的时候,调用系统的ProgressDialog 进行等待,可是看起来很不协调,左边的等待图片过大,右边文字过小,看起来老别扭,虽然功能上不存...
    99+
    2022-06-06
    字体大小 方法 字体 dialog Android
  • 设置mysql字符集的攻略
    下文主要给大家带来设置mysql字符集的攻略,希望这些内容能够带给大家实际用处,这也是我编辑设置mysql字符集的攻略这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。配置文件路径: /full/pa...
    99+
    2024-04-02
  • plsql字符集设置的方法是什么
    在PL/SQL中,可以通过设置NLS_LANG参数来指定字符集。NLS_LANG参数可以在环境变量中设置,也可以在会话级别中通过AL...
    99+
    2024-04-22
    plsql
  • MYSQL的字符串函数具体用法
    本篇内容介绍了“MYSQL的字符串函数具体用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!对于针对字符串...
    99+
    2024-04-02
  • mysql字符集查看与设置
    MySQL的字符集问题主要是两个概念,一个是Character Sets,一个是Collations,前者是字符内容及编码,后者是对前者进行比较操作的一些规则。这两个参数集可以在数据库实例、单个数据库、表、...
    99+
    2024-04-02
  • MYSQL中怎么设置字符集
    今天就跟大家聊聊有关MYSQL中怎么设置字符集,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。服务器级:在my.cnf中设置, mysql> ...
    99+
    2024-04-02
  • Mysql中如何设置字符集
    这篇文章将为大家详细讲解有关Mysql中如何设置字符集,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。############################...
    99+
    2024-04-02
  • MySQL中怎样设置字符集
    这期内容当中小编将会给大家带来有关MySQL中怎样设置字符集,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、内容概述在 MySQL 的使用过程中,了解字符集、字符序的概...
    99+
    2024-04-02
  • 关于mysql设置utf8mb4字符集
    由于mysql默认的utf8其实是三个字节,所以如果字段里有emoji表情,就会放不进去数据库,报错形如 Internal Exception: java.sql.SQLException: Incorrect string value: ...
    99+
    2023-08-21
    mysql 数据库 java
  • MySql5.7.18字符集配置的方法
    这篇文章主要介绍了MySql5.7.18字符集配置的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。故事背景...
    99+
    2024-04-02
  • html设置字体的方法
    这篇文章给大家分享的是有关html设置字体的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,适合初学前端开发者使用。2、可扩...
    99+
    2023-06-14
  • css字体的设置方法
    这篇文章给大家分享的是有关css字体的设置方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。css字体的设置方法:【font-family】规定元素的字体系列,【font-family】可以把多个字体名称作为一个...
    99+
    2023-06-14
  • MySQL字符集设置的示例分析
    这篇文章主要为大家展示了“MySQL字符集设置的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL字符集设置的示例分析”这篇文章吧。一、内容概述在...
    99+
    2024-04-02
  • informix字符集设置
    一、字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符...
    99+
    2024-04-02
  • MySQL默认字符集设置详情
    目录查看各版本默认字符集修改mysql5中的默认字符集已有库&表字符集的变更各级别的字符集字符集与比较规则utf8 与 utf8mb4比较规则请求到响应过程中字符集的变化SQL大小写规范Windows和linux...
    99+
    2024-04-02
  • MacOS中Mysql设置默认字符集
    一、查看字符集mysql> show variables like 'character%';+--------------------------+-------------------------...
    99+
    2024-04-02
  • 如何设置mysql字符集为UTF8
    这期内容当中小编将会给大家带来有关如何设置mysql字符集为UTF8,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。mysql设置字符集为UTF8的方法是:1、编辑my.i...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作