如何使用 Django ORM 将表情符号插入 MYSQL 5.5 及更高版本
How to insert emoji into MYSQL 5.5 and higher using Django ORM
我正在尝试将表情符号插入我 mysql table 的某个文件中。
我 运行 更改命令并将排序规则更改为 "utf8mb4_general_ci"
ALTER TABLE XYZ MODIFY description VARCHAR(250) CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
Table 上述查询后的详细信息:
+-------------+--------------+---------------+--------------------+
| Column | Type | Character Set | Collation |
+-------------+--------------+---------------+--------------------+
| description | varchar(250) | utf8mb4 | utf8mb4_general_ci |
+-------------+--------------+---------------+--------------------+
在此之后我 运行 查询用表情符号更新 描述 列,每次我 运行 下面的查询,表情符号被替换为 '? '.
update XYZ set description='a test with : ' where id = 1;
但是当我打印 select 查询相同 ID 的结果时,它显示“?”代替表情符号。结果是:
"a test with : ??"
对模型文件进行了必要的更改。
请接受我的道歉,因为我没有说清楚,将不胜感激在这件事上的任何线索。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
...
'OPTIONS': {
'charset': 'utf8mb4',
'use_unicode': True, },
},
}
my.cnf
:
[mysqld]
character-set-server=utf8mb4
default-collation=utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4
这节省了我 MYSQL 8.0.1
my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
我正在尝试将表情符号插入我 mysql table 的某个文件中。 我 运行 更改命令并将排序规则更改为 "utf8mb4_general_ci"
ALTER TABLE XYZ MODIFY description VARCHAR(250) CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
Table 上述查询后的详细信息:
+-------------+--------------+---------------+--------------------+
| Column | Type | Character Set | Collation |
+-------------+--------------+---------------+--------------------+
| description | varchar(250) | utf8mb4 | utf8mb4_general_ci |
+-------------+--------------+---------------+--------------------+
在此之后我 运行 查询用表情符号更新 描述 列,每次我 运行 下面的查询,表情符号被替换为 '? '.
update XYZ set description='a test with : ' where id = 1;
但是当我打印 select 查询相同 ID 的结果时,它显示“?”代替表情符号。结果是:
"a test with : ??"
对模型文件进行了必要的更改。 请接受我的道歉,因为我没有说清楚,将不胜感激在这件事上的任何线索。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
...
'OPTIONS': {
'charset': 'utf8mb4',
'use_unicode': True, },
},
}
my.cnf
:
[mysqld]
character-set-server=utf8mb4
default-collation=utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4
这节省了我 MYSQL 8.0.1
my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci