MySQLで表情を保存中にエラーが発生しました.Incorrect string value: '\xF0\x9F\x8C\xB8'

2440 ワード

Incorrect string value: ‘\xF0\x9F\x8C\xB8’ for column ‘nick_name’ at row 1
第一に、変更:データベースのデフォルト符号化.データベースを再起動し、2番目にjdbc接続のエンコード設定を削除します.第三に、データベース・テーブルの文字設定を変更します.第四に、対応するテーブルのフィールドの設定を変更します.
第一に、変更:データベースのデフォルト符号化.データベースを再起動し、

[client] 
default-character-set = utf8mb4 
[mysql] 
default-character-set = utf8mb4 
[mysqld] 
character-set-client-handshake = FALSE 
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci 
init_connect='SET NAMES utf8mb4'

第二に、jdbc接続の中の符号化設定を削除します.
#     ,   
spring.datasource.url=jdbc:mysql://localhost:3306/xxx

第3に、データベース・テーブルの文字設定を変更します.第四に、対応するテーブルのフィールドの設定を変更する.(私はこの穴に穴をあけられて、長い間調整していました)
CREATE TABLE `user` (
  `uid` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `nick_name` VARCHAR(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '  ',
  `phone` VARCHAR(20)  DEFAULT NULL COMMENT '  ',
) ENGINE=InnoDB
AUTO_INCREMENT=33 CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci'