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

2015-04-23 21:56:40 +08:00
 linpf

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

2927 次点击
所在节点    PHP
6 条回复
vibbow
2015-04-23 22:29:56 +08:00
CI配置文件有选项的啊
连接数据库时的字符集
linpf
2015-04-23 22:39:26 +08:00
@vibbow 数据库刚才翻看了一下ci手册 搞懂了。 现在的问题是,除了使用数据库utf8mb4字符集之外,还有没有别的方案?
babyname
2015-04-23 23:25:09 +08:00
字符串替换 😊 笑 存储
娶出来反向
vibbow
2015-04-24 00:47:01 +08:00
@linpf 为什么放着最简单的方案不用却要舍近求远呢??!!
solaro
2015-05-08 21:41:14 +08:00
不需要啊,set names utf8mb4;这个是必须的,凡是操作uft8mb4的表都要这么来一下,emoji 必须用utf8mb4不能用utf8,不然存是可以存进去,读出来都特么是乱码。(因为内存地址都特么错了,存的时候按每4个字节砍一块内存存进去,读的时候再按每3个字节砍一块内存出来,就特么都是乱码了)
mingyun
2015-05-11 22:34:24 +08:00
这个mysql版本要求5.5以上吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/185825

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX