首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL几种编码格式的区别(utf8、utf8mb4、utf8mb4_general_ci、utf8mb4_unicode_ci 、utf8mb4_0900_ai_ci)

要在 Mysql 中保存 4 字节长度的 UTF-8 字符,需要使用 utf8mb4 字符集,但只有 5.5.3 版本以后的才支持。...如果数据库默认字符集不是 utf8mb4,那么可以在创建数据库时指定字符集: CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci...utf8mb4_0900_ai_ci 推荐用 utf8mb4_unicode_ci,但是用 utf8mb4_general_ci 也没啥问题。...MySQL 8.0 默认的是 utf8mb4_0900_ai_ci,属于 utf8mb4_unicode_ci 中的一种,具体含义如下: uft8mb4 表示用 UTF-8 编码方案,每个字符最多占 4...utf8mb4 已成为默认字符集,在 MySQL 8.0.1 及更高版本中将 utf8mb4_0900_ai_ci 作为默认排序规则。以前,utf8mb4_general_ci 是默认排序规则。

17.3K33
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java 8 开发的 4 大技巧

    来自 | Elyn 责编 | 乐乐 链接 | evget.com/article/2016/8/10/24674.html 正文 我使用Java 8编码已经有些年头,既用于新的应用程序...但是我发现了一些Java 8代码中可以帮助我们的一些选择,让我们一起来看看吧。...2.使用Lambda表达式 Lambda表达式是Java 8的主要特点之一。即使你还没有使用Java 8,你现在可能已经对它们有了基本的了解。...4.Stream Stream API是Java 8另一个大特点,并且我认为我们还真的不知道这对我们的编码方式会产生多大的改变。下面是我发现的一些有用的东西 排队点操作符 我个人更喜欢排队我的流操作。...遍历数组时使用循环 但是,使用Java 8并不一定意味着你必须到处使用流和新的集合方法。

    59410

    utf8和utf8mb4的区别

    一、简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。...好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。...二、内容描述 那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。...三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。...也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。

    1.7K20

    Java 8 开发的 4 大顶级技巧

    针对Lambda表达式设计 4. Stream 最后 ---- 我使用Java 8编码已经有些年头,既用于新的应用程序,也用来迁移现有的应用,感觉是时候写一些我发现的非常有用的“最佳实践”。...java 8 2. 使用Lambda表达式 Lambda表达式是Java 8的主要特点之一。即使你还没有使用Java 8,你现在可能已经对它们有了基本的了解。...java 8 甚至是lambda所代表的函数式接口: ? java 8 3....java 8 当你指定了太多方法的时候,它会标志: ? java 8 并且如果你应用它到一个类而不是接口时,它会警告你: ?...java 8 lambda表达式可用于带有一个单一抽象方法的任何接口,但它们不能用于符合相同标准的抽象类。似乎不合逻辑,但就是这样。 4.

    57120

    Java 8 开发的 4 大顶级技巧

    来源:codeceo.com/article/java-8-top-tips.html 我使用Java 8编码已经有些年头,既用于新的应用程序,也用来迁移现有的应用,感觉是时候写一些我发现的非常有用的...但是我发现了一些Java 8代码中可以帮助我们的一些选择,让我们一起来看看吧。...推荐阅读:JDK8新特性之Stream流。 ? 2.使用Lambda表达式 Lambda表达式是Java 8的主要特点之一。即使你还没有使用Java 8,你现在可能已经对它们有了基本的了解。...4.Stream Stream API是Java 8另一个大特点,并且我认为我们还真的不知道这对我们的编码方式会产生多大的改变。下面是我发现的一些有用的东西 排队点操作符 我个人更喜欢排队我的流操作。...遍历数组时使用循环 但是,使用Java 8并不一定意味着你必须到处使用流和新的集合方法。

    50220

    mysql : utf8mb4 的问题

    微信呢称和QQ呢称上有很多火星文和emoji表情图片,这些数据,如果直接insert到mysql数据库,一般会报错,设置成utf8都不好使,必须改成utf8mb4编码,这二者的区别见: mysql utf8mb4...与emoji表情 ,网上的解决办法大多是修改my.cnf参数,设置mysql的编码为utf8mb4,这种方法虽然彻底,但是通常要重启mysql,会造成生产系统临时当机。...下面是影响相对更小的处理方法: 前提:mysql的版本不能太低,低于5.5.3的版本不支持utf8mb4编码。 将表中的对应字段,比如会员表的呢称字段,其字符集修改成utf8mb4。...mysql-connector-java升级成最新版(目前最新版是5.1.37),最后修改druid数据源的配置,增加一行: <property name="connectionInitSqls" value="set names utf<em>8</em>mb<em>4</em>

    1.4K100

    MySQL字符集utf8mb4

    ,MySQL在5.5.3版本之后,引进了新的字符编码utf8mb4,本篇文章主要介绍如何将已经是utf8的database切换到utf8mb4字符编码 utf8mb4 utf8mb4最明显的好处是解决了苹果挖的坑...utf8mb4解决了MySQL数据库存储emoji表情的问题。...utf8mb4是utf8的超集,理论上由utf8升级到utf8mb4字符编码没有任何兼容问题 升级utf8到utf8mb4 备份 安全第一,备份所有需要升级字符编码的数据库 可以将库dump出来 如果是虚拟机...COLLATE = utf8mb4_unicode_ci; mysql> ALTER DATABASE polarsnow CHARACTER SET = utf8mb4 COLLATE = utf8mb4...COLLATE utf8mb4_unicode_ci; 注:VARCHAR(191) 根据字段实例的类型填写 检查字段的最大长度和索引列 字段长度 由于从utf8升级到了utf8mb4,一个字符所占用的空间也由

    1.5K31
    领券