1
des 2018-12-24 08:42:56 +08:00 via Android
你是不是对 utf8 有什么误解,什么叫 utf8 不够用了?
|
2
occam88 2018-12-24 08:51:44 +08:00 via iPhone
UTF-8 是变长编码,应该不会出现不太够的情况把
|
3
shoaly 2018-12-24 08:54:37 +08:00
json_encode 可解
|
4
agostop 2018-12-24 08:55:07 +08:00
5.5 也有 mb4 吧
|
5
lhx2008 2018-12-24 08:57:09 +08:00 via Android
5.5 就有 mb4,还有一种方法就是入库前替换成英文别名
|
6
FreshOldMan 2018-12-24 09:11:25 +08:00
上次看了稀里糊涂的,貌似 utf8 是可变的?
|
7
fy 2018-12-24 09:17:45 +08:00
utf8 类型只能容纳三个字节是 MySQL 独有的,utf8mb4 这种东西也是 MySQL 独有的,实际按照标准有 6 个字节可以用。至于说不够用了怎么办?再把页表掏出来用呗,最后再弄一个新的 uni-unicode 就完了
|
11
littleylv 2018-12-24 09:41:47 +08:00
最保险,最方便,最一刀两断的是升级 mysql。5.6 就可以了支持 utf8mb4 了。
|
12
jasonhzy 2018-12-24 09:44:36 +08:00
https://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-3.html 文档里已经说明 mysql5.5.3 以上均已支持 utf8mb4
|
13
cloverstd 2018-12-24 09:45:25 +08:00 via iPhone
存成 blob
|
14
NullWithMe 2018-12-24 09:49:32 +08:00
utf8mb4 可以
|
15
DavidNineRoc 2018-12-24 09:50:35 +08:00
楼主描述不清楚导致楼上的可能有些什么误解。
表情四个字符,utf8 三个字节存储。 最优:换 utfmb4 程序:json 内容,然后正则处理 曲线救国:base64 解决任何一切编码问题 >_< |
16
NeinChn 2018-12-24 09:54:51 +08:00
base64 拯救一切....
|
17
shooyaaa 2018-12-24 09:58:04 +08:00
我以前用过 base64 编码再存
|
18
fenglangjuxu 2018-12-24 10:03:52 +08:00 via iPhone
楼上说的 base64 是正解 我也这么干过
|
19
BOYPT 2018-12-24 10:15:38 +08:00
mysql 的 utf8mb4 是正常的 utf8,mysql 的 utf8 是早产儿先天残废,程序里面按 utf8 处理然后给 utf8mb4 存储才是正常途径。
|
20
mmdsun 2018-12-24 12:42:25 +08:00 via Android
mysql utf-8 真是坑了不少人
|