
1 sdjl OP 回复必感谢!( 24 小时内) |
2 xiangyuecn Dec 7, 2018 来了收割一波,不知道 mysql 有没有 n 打头的类型,nvarchar |
3 baocaixiong Dec 7, 2018 ``` CREATE TABLE `test` ( `id` bigint(20) unsigned NOT NULL auto_increment, content varchar(300) default '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 collate=utf8mb4_general_ci; insert into test (content)values( ""); ``` |
4 naic Dec 7, 2018   应该是可以的 |
5 naic Dec 7, 2018 |
6 baocaixiong Dec 7, 2018 @naic 直接贴图片地址,前后留空 |
7 naic Dec 7, 2018 @baocaixiong 请不要在每一个回复中都包括外链,这看起来像是在 spamming 尴尬 |
8 sdjl OP @baocaixiong 我把你的代码复制过去也不行呢。 mysql> CREATE TABLE `test` ( -> `id` bigint(20) unsigned NOT NULL auto_increment, -> content varchar(300) default '', -> PRIMARY KEY (`id`) -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 collate=utf8mb4_general_ci; Query OK, 0 rows affected (0.01 sec) mysql> insert into test (content)values( ""); ERROR 1366 (HY000): Incorrect string value: '\xF0\x9F\x8E\x89' for column 'content' at row 1 我的 MySQL 版本是: Server version: 5.7.24 MySQL Community Server (GPL) |
9 zeraba nbsp; Dec 7, 2018 via Android 你的客户端也需要用 mb4 字符集连接 |
10 andylsr Dec 7, 2018 via Android 建表用 utf8mb4_unicode,客户端选一样的字符集即刻 |
13 fashy Dec 7, 2018 show variables like '%character%'; 看下数据库设置,服务器端的是否都已经设置了? |
15 zjp Dec 7, 2018 |
18 c00WKmdje2wZLrSI Dec 7, 2018  |
19 88250 Dec 7, 2018 迁移历史数据可参考这里 https://hacpai.com/article/1521094110639 |
20 mmdsun Dec 7, 2018 via Android 就是 MySQL UTF-8 的 bug。得用 utf8mb4 |
23 fanmouji Dec 7, 2018 via Android 做过保存微信用户昵称,MySQL5.7+,如果是通过代码保存的话 utf-8 编码,数据库字段用 varchar |
24 edsgerlin Dec 8, 2018 如果有幸用 MySQL 8.0+的话,推荐用`utf8mb4_0900_ai_ci`,这个能支持 Unicode 9.0 新增的字符。 |
25 Techzero Dec 8, 2018 via Android 关键词 utf8mb4 |
26 winglight2016 Dec 8, 2018 我就奇怪,表情这种设置服务端肯定没问题的,那就只剩客户端的问题了,lz 下次记得用排除法 |
27 echisan Dec 8, 2018 via iPhone 学习了 |
28 leonard916 Dec 8, 2018 UTF16 |
30 DRcoding Dec 8, 2018 很久前遇到过,改字符集是简单省事,但是不至于为了存个 emoji 改字符集。。。前端转码,或者我看到 TX 某客户端的做法是整理搞了个 emoji 字符的对应关系,全部存成了对应或相近的图片。 |