zoukankan      html  css  js  c++  java
  • mysql保存emoji表情,utf8mb4保存不了表情的问题

    报错信息 : Incorrect string value: 'xF0x9Fx99x85xE2x80...' for column 'content' at row 1 

    mysql数据库的默认字符集utf8,只能存储3个字节的数据,标准的emoji表情是4个字节,所以要使用utf8mb4兼容四个字节

    解决办法

    1. 将表字段字符集设置成utf8mb4 

    修改库的字符集

    alter database 库名 character set utf8mb4 collate utf8mb4_general_ci


    修改表的字符集

    alter table 表名 character set utf8mb4 collate utf8mb4_general_ci

    或者ALTER TABLE 表名 MODIFY COLUMN content varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注';

     


    2. 执行插入前执行:SET NAMES utf8mb4; 
    如: 
    SET NAMES utf8mb4; 
    INSERT test(Content) VALUES('~');

    PHP例子: 
    $paramValues=array('Content'=>'~'); 
    $dbCommand->query('SET NAMES utf8mb4'); 
    $lastInsertID=$dbCommand->insertOne('test',$paramValues);

  • 相关阅读:
    favicon.ico请求处理
    Node.js学习(Node.js基础)
    实现主机访问虚拟机网页的方法总结
    有向/无向图中搜环
    后缀自动机
    莫队算法
    A* 算法求第k短路径
    次小生成树算法
    AC自动机详解
    Link-Cut-Tree详解
  • 原文地址:https://www.cnblogs.com/houss/p/11131935.html
Copyright © 2011-2022 走看看