V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
linpf
V2EX  ›  PHP

大家写程序的时候是怎么处理 emoji 问题的?

  •  
  •   linpf · 2015-04-23 21:56:40 +08:00 · 2905 次点击
    这是一个创建于 3503 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在感觉靠谱的只有建立utf8mb4的方案,需要把整个数据库字符集都设置utf8mb4呢还是说只把需要保存emoji的数据表设置成utf8mb4呢?如果是后者,那么php连接数据库的时候,必须使用set names utf8mb4吗?
    我打算使用ci框架,那怎么配置数据库呢?
    或者还有更好的方案吗?

    6 条回复    2015-05-11 22:34:24 +08:00
    vibbow
        1
    vibbow  
       2015-04-23 22:29:56 +08:00
    CI配置文件有选项的啊
    连接数据库时的字符集
    linpf
        2
    linpf  
    OP
       2015-04-23 22:39:26 +08:00
    @vibbow 数据库刚才翻看了一下ci手册 搞懂了。 现在的问题是,除了使用数据库utf8mb4字符集之外,还有没有别的方案?
    babyname
        3
    babyname  
       2015-04-23 23:25:09 +08:00 via iPhone
    字符串替换 😊 笑 存储
    娶出来反向
    vibbow
        4
    vibbow  
       2015-04-24 00:47:01 +08:00 via Android
    @linpf 为什么放着最简单的方案不用却要舍近求远呢??!!
    solaro
        5
    solaro  
       2015-05-08 21:41:14 +08:00
    不需要啊,set names utf8mb4;这个是必须的,凡是操作uft8mb4的表都要这么来一下,emoji 必须用utf8mb4不能用utf8,不然存是可以存进去,读出来都特么是乱码。(因为内存地址都特么错了,存的时候按每4个字节砍一块内存存进去,读的时候再按每3个字节砍一块内存出来,就特么都是乱码了)
    mingyun
        6
    mingyun  
       2015-05-11 22:34:24 +08:00
    这个mysql版本要求5.5以上吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2396 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:21 · PVG 08:21 · LAX 16:21 · JFK 19:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.