我有一个RESTFul POST端点,该端点将数据保存到MYSQL数据库中。表格的其中一栏应存储特殊字符,例如👩❤️💋。保存它们后,我发现并非所有字符都正确存储在数据库中。例如,以上字符存储为? ❤️?。
但是,当使用GET端点检索相同的记录时,将成功检索字符并保留其值。
列排序规则的详细信息是:字符集utf8mb4 COLLATE utf8mb4_unicode_ci
我的JDBC URL具有此参数:&useUnicode=true&characterEncoding=UTF-8
是否有一种方法可以看到存储的正确值而不是???
'woman'和'kiss'是非BMP字符,因此在MySQL中需要utf8mb4
,而不是utf8
。这与? ❤️ ?
一起表示在某处提到了utf8
。检查
SHOW VARIABLES LIKE 'char%'.
SHOW CREATE TABLE ...