javaのmysqlのコネクタに配置されたUTF-8mb4

互換性の絵文字顔文字と(UTF保存された文字、伝統的な3バイトのuft8格納されたエラーの原因ストレージの使用バイト4)特殊文字の場合は、フォーマットをコードするuft88mb4プロジェクトに設定する必要があります。

:手順については、公式サイトのドキュメントをここで初見は駆動mysqlの使用してMySQL https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.htmlを 明示的に要求したドライブバージョンの

ノート
用コネクタ / J 5.1.46およびそれ以前:オーダーutf8mb4の文字セットで使用するための接続、
character_set_server MUST BE = utf8mb4でサーバー設定済みの、IFではありませんその場合
UTF-はIS使用される8。のためにcharacterEncoding文字列の接続、MySQLの文字の名前でウィルによって、ITへの地図セットUTF8、
AN別名であるためutf8mb3。
以前の5.1.46およびため、utf8mb4文字セットの接続を使用するには、サーバーはcharacter_set_server = utf8mb4構成されている必要があり、そうでない場合、
別名utf8mb3であるMySQLのUTF8キャラクタ・セット名にマップする接続文字列でUTF8文字エンコーディングを使用した場合。 用コネクタ
/ J 5.1.47 以降と: UTF -8使用されているため接続文字列でcharacterEncoding、それはMySQLの文字セット名utf8mb4にマップされています。
当UTF-8用于连接字符串中的字符编码时、它将映射到MySQLの字符集名称utf8mb4。 接続オプションのconnectionCollat​​ionも一緒に設定されている場合characterEncodingそれと互換性がない、
characterEncodingはconnectionCollat​​ionに対応する符号で上書きされます。 何のJavaが存在しないので
スタイルの文字セット名のため utfmb3あなたは、接続オプションのcharaterEncodingで使用できることを
あなたの接続キャラクタ・セットがutf8mb3照合(使用することであるとして使用utf8mb3への唯一の方法について例、utf8_general_ci)をするために、接続オプションconnectionCollat​​ion 、
その力utf8mb3文字セットがなければ 、最後の箇条書きで説明したように、使用
utfmb3はcharatencoding Javaスタイルの文字セット名の接続オプションは使用できませんので、そして
そのための文字セットを接続するための唯一の方法として、utf8mb3を使用して接続オプション接続照合utf8mb3の使用であります照合(例えば、utf8_general_ci)、
utf8mb3文字セットの使用を強制します。

さらに:

  • MySQLのバージョンは5.5.3バージョンコーディングutf8mb4をサポートしていないよりも低く、低すぎることはできません。
  • 状況はまだ力に登場していない場合は、文字用のMySQLデータベース構成、およびコンフィギュレーションに対応するテーブルの文字を改正検討することができます。

一般的に、我々は、設定を変更する必要があり、次のとおりです。

  • MySQLの設定ファイル:
[クライアント]
 デフォルト -characterセット= utf8mb4 
[mysqlの] 
デフォルト -characterセット= utf8mb4 
[mysqldを] 
文字 -set-サーバー= utf8mb4 
照合 -server = utf8mb4_general_ci
  • データベースを構築する場合、文字セットエンコーディングutf8mb4、文字セットを指定するか、照合がutf8mb4_general_ci utf8mb4_unicode_ciです。
  • テーブルの時に建設エンコードを指定Utf8mb4。

 

おすすめ

転載: www.cnblogs.com/silenceshining/p/12556131.html