现在感觉靠谱的只有建立utf8mb4的方案,需要把整个数据库字符集都设置utf8mb4呢还是说只把需要保存emoji的数据表设置成utf8mb4呢?如果是后者,那么php连接数据库的时候,必须使用set names utf8mb4吗?
我打算使用ci框架,那怎么配置数据库呢?
或者还有更好的方案吗?
1
vibbow 2015-04-23 22:29:56 +08:00
CI配置文件有选项的啊
连接数据库时的字符集 |
2
linpf OP @vibbow 数据库刚才翻看了一下ci手册 搞懂了。 现在的问题是,除了使用数据库utf8mb4字符集之外,还有没有别的方案?
|
3
babyname 2015-04-23 23:25:09 +08:00 via iPhone
字符串替换 😊 笑 存储
娶出来反向 |
5
solaro 2015-05-08 21:41:14 +08:00
不需要啊,set names utf8mb4;这个是必须的,凡是操作uft8mb4的表都要这么来一下,emoji 必须用utf8mb4不能用utf8,不然存是可以存进去,读出来都特么是乱码。(因为内存地址都特么错了,存的时候按每4个字节砍一块内存存进去,读的时候再按每3个字节砍一块内存出来,就特么都是乱码了)
|
6
mingyun 2015-05-11 22:34:24 +08:00
这个mysql版本要求5.5以上吧
|