到底是谁将Emoji字符转化为字面值(\U+xxxxx),操作系统(OS)还是Mysql客户端程序?

 怪物-pp_912 发布于 2022-11-05 07:50

当我从网页中复制一个Emoji字符到Mysql的交互界面中,它会自动被转为字符串字面值,如下所示:

当我将其复制到终端界面中时,就没有转化,原样显式,如下所示:

我想问同样的一个操作系统,为什么在Mysql交互界面中就被自动转化为\U+1F600,而在普通终端界面中就不会转化? 难道这个转化是由Mysql客户端程序完成的吗?

1 个回答
  • 深入mysql字符集设置

    1. MySQL Server收到请求时将请求数据从character_set_client转换为character_set_connection;
    2. 进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,其确定方法如下:
      • 使用每个数据字段的CHARACTER SET设定值;
      • 若上述值不存在,则使用对应数据表的DEFAULT CHARACTER SET设定值(MySQL扩展,非SQL标准);
      • 若上述值不存在,则使用对应数据库的DEFAULT CHARACTER SET设定值;
      • 若上述值不存在,则使用character_set_server设定值。
    3. 将操作结果从内部操作字符集转换为character_set_results。

    这里有一篇文章:mysql utf8mb4与emoji表情

    2022-11-12 01:45 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有