问题来源
在存储Scratch项目的xml内容时,DB报了个错:Incorrect string value: '\xF0\x9F\x91\x8B",...' for colum ...........(省略)
原因
因为数据库默认配置都是uft8,具体如下:
SHOW VARIABLES WHERE Variable_name LIKE 'character%' OR Variable_name LIKE 'collation%';
在MySQL中字符编码命名为uft8的实际上最大支持3个字节的字符,而uft8mb4才能最大支持4个字节的字符。
而数据库连接配置参数 characterEncoding 只有 UTF-8,并没有MySQL中 utf8mb4 对应的Java端配置可以配置。
解决办法
引用自:https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-charsets.html
Notes
For Connector/J 8.0.12 and earlier: In order to use the