最近遇到微信公众号和小程序中用户昵称不能插入到数据库的问题。
插入时会报错:
Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\xB5\xF0\x9F...' for column 'mus_real_name' at row 1
解决方法:
1、 向数据库插入昵称时URLEncode.encode(nickname,"utf-8"); 但是取的的时候要注意 URLDecode.decode(user.getNickname,"urf-8");
2、修改数据库的字符集为 utf8mb4
[mysqld]
character
-
set
-server=utf8mb4
[mysql]
default
-
character
-
set
=utf8mb4
ALTER
TABLE
表名
CONVERT
TO
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_bin;
目前我用的方法为 第一种.
{{ cmt.username }}
{{ cmt.content }}
{{ cmt.commentDate | formatDate('YYYY.MM.DD hh:mm') }}