![]() |
1
sdjl OP 回复必感谢!( 24 小时内)
|
![]() |
2
xiangyuecn 2018-12-07 19:26:25 +08:00 ![]() 来了收割一波,不知道 mysql 有没有 n 打头的类型,nvarchar
|
![]() |
3
baocaixiong 2018-12-07 19:30:48 +08:00 ![]() ```
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 2018-12-07 19:30:53 +08:00 ![]() 
 应该是可以的 |
5
naic 2018-12-07 19:32:10 +08:00 ![]() |
![]() |
6
baocaixiong 2018-12-07 19:32:56 +08:00 ![]() @naic 直接贴图片地址,前后留空
|
7
naic 2018-12-07 19:34:26 +08:00 ![]() @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 2018-12-07 19:38:29 +08:00 via Android ![]() 你的客户端也需要用 mb4 字符集连接
|
![]() |
10
andylsr 2018-12-07 19:39:52 +08:00 via Android ![]() 建表用 utf8mb4_unicode,客户端选一样的字符集即刻
|
13
fashy 2018-12-07 19:42:57 +08:00 ![]() show variables like '%character%';
看下数据库设置,服务器端的是否都已经设置了? |
![]() |
15
zjp 2018-12-07 19:46:37 +08:00 ![]() |
![]() |
17
zjp 2018-12-07 19:51:06 +08:00 ![]() @sdjl UTF8 是变长编码,占用更多磁盘空间只是之前 mb3 存不了 4 字节字符。不过会影响 MySQL 对最大字符数的计算
|
18
c00WKmdje2wZLrSI 2018-12-07 20:18:09 +08:00 ![]() 
|
![]() |
19
88250 2018-12-07 21:07:17 +08:00 ![]() 迁移历史数据可参考这里 https://hacpai.com/article/1521094110639
|
![]() |
20
mmdsun 2018-12-07 21:14:15 +08:00 via Android ![]() 就是 MySQL UTF-8 的 bug。得用 utf8mb4
|
![]() |
21
Livid MOD ![]() |
23
fanmouji 2018-12-07 23:09:42 +08:00 via Android ![]() 做过保存微信用户昵称,MySQL5.7+,如果是通过代码保存的话 utf-8 编码,数据库字段用 varchar
|
![]() |
24
edsgerlin 2018-12-08 01:02:56 +08:00 ![]() 如果有幸用 MySQL 8.0+的话,推荐用`utf8mb4_0900_ai_ci`,这个能支持 Unicode 9.0 新增的字符。
|
![]() |
25
Techzero 2018-12-08 01:43:35 +08:00 via Android ![]() 关键词 utf8mb4
|
![]() |
26
winglight2016 2018-12-08 09:22:25 +08:00 ![]() 我就奇怪,表情这种设置服务端肯定没问题的,那就只剩客户端的问题了,lz 下次记得用排除法
|
27
echisan 2018-12-08 09:30:21 +08:00 via iPhone ![]() 学习了
|
28
leonard916 2018-12-08 12:20:40 +08:00 ![]() 試試 UTF16
|
![]() |
30
DRcoding 2018-12-08 17:26:32 +08:00 ![]() 很久前遇到过,改字符集是简单省事,但是不至于为了存个 emoji 改字符集。。。前端转码,或者我看到 TX 某客户端的做法是整理搞了个 emoji 字符的对应关系,全部存成了对应或相近的图片。
|