数据库字符集编码的问题
utf8编码是三个字节,一个emoji表情存入数据库占4个字节所以存入会变乱码,将字符集变为utf8mb4就行了
sql命令如下
show variables like '%set%';
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;<!--改数据库字符集-->
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;<!--改数据库字符集-->
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;<!--改表字符集-->
第一行和第三行都只是查看字符集的语句。
这些是在mysql数据库可执行的sql语句,在plsql等oracle的客户端是无法执行的中并不能执行