到底是谁将Emoji字符转化为字面值(\U+xxxxx),操作系统(OS)还是Mysql客户端程序?
ringa_lee
ringa_lee 2017-04-17 12:07:14
[MySQL讨论组]

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

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

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

ringa_lee
ringa_lee

ringa_lee

全部回复(1)
PHPz

深入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表情

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号