【发布时间】:2017-09-12 16:08:15
【问题描述】:
我正在使用 mariadb 和 Spring、JdbcTemplate 进行开发。
起初,我们将 DB 字符集设置为 utf8,但现在我们必须将其更改为 utf8mb4,因为 emojis。
到目前为止,我使用如下查询更新单个字符集。
ALTER TABLE WT_WORKS CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE WT_WORKS CHANGE WORKS_TITLE WORKS_TITLE VARCHAR(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE WT_WORKS CHANGE WORKS_DESC WORKS_DESC VARCHAR(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
但是,由于表关系,它现在很有效。例如当我插入WT_WORKS时,也需要插入WT_WRITERS。看起来不可能找到每个表和列。
所以我想立即更改这些。(包括Procedures 和Functions)。 -- 类似(v_name VARCHAR(10)) 变成(v_name VARCHAR(10) CHARSET utf8mb4)。
感谢您的回答。
仅供参考。我的my.cnf 得到了关注设置
[client]
default-character-set=utf8mb4
[mysqld]
collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4
[client]
default-character-set = utf8mb4
【问题讨论】:
标签: mysql utf-8 character-encoding emoji utf8mb4