【问题标题】:Emojis storing as ? in PhpMyAdmin表情符号存储为?在 PhpMyAdmin 中
【发布时间】:2023-03-09 07:51:02
【问题描述】:
我使用 wordpress 作为 CMS,Plesk 是主机,我有一个问题。我了解数据库要存储表情符号,字符集应更改为 utf8mb4。
- 在哪里更改?
- 是否有任何全局设置让每个站点都使用新的 utf8mb4?
- 如何将其更改为已存储表情符号的现有数据库?
因为迁移到新服务器时真的很痛苦。然后所有表情符号显示为?导入数据库时。
【问题讨论】:
标签:
database
phpmyadmin
character-encoding
emoji
【解决方案1】:
第 1 步,更改数据库的默认字符集:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
如果数据库尚未创建,请使用正确的编码创建它:
CREATE DATABASE database_name DEFAULT CHARSET = utf8mb4 DEFAULT COLLATE =
utf8mb4_unicode_ci;
第二步,建表时设置字符集:
CREATE TABLE IF NOT EXISTS table_name (
...
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci;
或更改表
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE table_name MODIFY field_name TEXT CHARSET utf8mb4;
Source