🔥🔥🔥让你的网站支持emoji🔥🔥🔥

王朝干货·作者佚名  2025-10-19

一、MySQL数据库:

1. 修改my.cnf:

[mysqld]

character_set_server = utf8mb4

collation_server = utf8mb4_0900_ai_ci

2. 修改数据库和表支持utf8mb4,如果已经是了就不用修改了:

alter database db_name default CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

二、JDBC连接池相关配置:

url="jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8&connectionCollation=utf8mb4_0900_ai_ci"

connectionInitSqls="SET NAMES utf8mb4 COLLATE utf8mb4_0900_ai_ci"

🔥为什么是characterEncoding=UTF-8而不是utf8mb4?

utf8mb4不是JVM的字符集名称,它只是MySQL对完整UTF-8实现的称呼。在JVM和Java中,我们只需要使用标准的 UTF-8 字符集。

MySQL中的utf8mb4 = 完整的UTF-8实现(支持4字节字符,如emoji)

Java/JVM中的UTF-8 = 完整的UTF-8实现(天然支持所有Unicode字符)

总结

Java端:使用 characterEncoding=UTF-8,通过 SET NAMES utf8mb4 告诉MySQL使用utf8mb4字符集

MySQL端:确保数据库、表、字段的字符集都是 utf8mb4

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航