mysqlデータベースはどのようにemojiの表情を保存して、utf 8 mb 4を変更した後にどうしてすべて疑問符が現れます

2099 ワード

プロジェクトでemojiの表情を保存している人に遭遇しました.次のエラーが発生しました.
java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1
解決方法:
ステップ1:
mysqlプロファイルを変更するmy.cnf(windowsはmy.ini、linuxはmy.cnf)
my.cnfは一般にetc/mysql/myである.cnf位置.見つかったら、次の3つのセクションに次の内容を追加してください.
[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'
ステップ2:
mysqlデータベースを再起動し、文字セットを再表示
mysqlコマンドラインにSHOW VARIABLES WHERE Variable_と入力します.name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
+--------------------------------------------------------------------------------------------------+
| Variable_name            | Value              |
+--------------------------+--------------------+
| character_set_client    | utf8mb4            |
| character_set_connection | utf8mb4            |
| character_set_database  | utf8mb4            |
| character_set_filesystem | binary            |
| character_set_results    | utf8mb4            |
| character_set_server    | utf8mb4            |
| character_set_system    | utf8              |
| collation_connection    | utf8mb4_unicode_ci |
| collation_database      | utf8mb4_unicode_ci |
| collation_server        | utf8mb4_unicode_ci |
+--------------------------+--------------------+
それでもダメだったり、疑問符が出たり
jarパッケージバージョンが5.1.13+であるかどうかを確認mysqlバージョンが5.5.3+であるかどうかを確認します.