zoukankan      html  css  js  c++  java
  • mysql:设置字符集utf8mb4 支持emoji字符

    为什么要把数据库的字符集设置成utf8mb4呢?以前一直用的都是utf8啊?
    答案在这里:utf8适用于不使用移动设备的互联网交互,utf8mb4适用于当前的移动设备互联网开发,因为移动设备中常常会有表情符号(emoji)的存储,它占用4个字节的存储空间,而utf8是3个字节,这样,用3个字节去存储4个字节的东西,很明显是存不下的,会报错,所以要用utf8mb4,并且utf8mb4是兼容utf8的,那么,就没有理由不用utf8mb4字符集了。

    介绍设置MySQL的字符集:

    1 在ubuntu安装mysql (密码自己设置)

    sudo apt-get install mysql-server
    sudo apt-get install mysql-client
    sudo apt-get install libmysqlclient-dev

    2 进入mysql,查看信息

    /etc/mysql/mysql.conf.d/mysqld.cnf

    可以看到我的mysql版本是5.7的,utf8mb4有一个使用限制,mysql版本必须是5.5以上,大家需要注意,我目前用的ubuntu系统是16.04的。当前mysql的字符集配置如上表,我们的目的是更改成utf8mb4。

    3 找到mysql的配置文件,可用命令

    sudo find / -name my.cnf

    4 修改配置文件

    [client]
    default-character-set = utf8mb4
    
    [mysql]
    default-character-set = utf8mb4
    
    [mysqld]
    character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci
    init_connect='SET NAMES utf8mb4'

    或直接执行:


    ALTER table apps modify  name  varchar(2000) character set utf8mb4 collate utf8mb4_unicode_ci;
    ALTER table apps charset=utf8mb4;
    set names utf8mb4

  • 相关阅读:
    1 外部JavaScript
    1 外部JavaScript
    蓝桥杯:位运算
    Java为什么要配置环境变量
    java数组静态复制和动态复制越界问题
    Dijkstra算法java实现
    离散二元关系实验java实现
    Java中字符串split() 的使用方法
    用java编程实现集合的交、并、差和补运算
    61根据字符出现频率排序(451)
  • 原文地址:https://www.cnblogs.com/Fooo/p/7452786.html
Copyright © 2011-2022 走看看