序文 この記事では主に、MySQL ストレージ テーブル エラー「java.sql.SQLException: 文字列値が正しくありません: '\xF0\x9F\x92\xA9\x0D\x0A...'」の解決方法を紹介し、参考として共有します。詳細な紹介を見てみましょう。 このプロジェクトは、Spring MVC + MySQL + Druid DataSource に基づいています。絵文字をデータベースに挿入するときにエラー メッセージが表示されます。
通常の文字は最大 3 バイトを占めるため、utf8 を使用するには十分です。絵文字は 4 バイトを占め、utf8mb4 文字セットを使用して保存する必要があります。このソリューションでは、MySQL サーバーと接続クライアントの 2 か所を変更する必要があります。 MySQL サーバー 以前、MySQL を設定して絵文字を保存する方法についてのチュートリアルを紹介しました。詳細を知りたい場合は、まずそれを参照してください。 サーバー側で、絵文字を保存する必要のあるフィールドを utf8mb4 文字セットを使用するように変更します。 ALTER TABLE mytable MODIFY COLUMN myfiled varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; クライアント クライアントは接続の文字セットを utf8mb4 に設定する必要があります。 設定は次のとおりです。 名前をutf8mb4に設定します。 Alibaba のオープン ソースの druid データ ソースが使用されます。これには connectionInitSqls というプロパティがあり、物理接続が初期化されるときに実行される SQL を設定するために使用されます。したがって、connectionInitSqls を使用して接続を初期化できます。 Spring は次のように構成されます。 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 基本属性 url、user、password --> <プロパティ名="url" 値="jdbc:mysql://localhost:3888/majing?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull" /> <プロパティ名="ユーザー名" 値="dbusername"/> <プロパティ名="パスワード" 値="dbpasswod"/> <property name="connectionInitSqls" value="名前をutf8mb4に設定;" /> <!-- その他の構成 --> </bean> dbcp2 や HikariCP などの他のデータベース接続プールには connectionInitSqls 属性があります。 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
>>: JS 非同期コードユニットテストの魔法 Promise
インデックスはソートされたデータ構造です。 where 条件での検索や order by 条件での並...
目次プロトタイプを理解するプロトタイプオブジェクトを理解するインスタンスプロパティとプロトタイププロ...
目次1. 問題の説明2. 問題分析3. 問題解決1. Dockerのディスク使用量を確認する2. 再...
Navicat を使用してリモート Linux MySQL データベースに接続すると、不明なエラー ...
この記事では、一般的な基本的な Linux コマンドとその使用方法を例を使って説明します。ご参考まで...
目次発見: ディスプレイアニメーションの応用実装:記事の1行目を表示する効果を実現する方法実際、その...
以前、上司からログイン後にチェックマークを表示できるプログラムを作るように言われたのですが、Baid...
transform:scale()比例したズームインまたはズームアウトを実現できます。 transi...
この記事では、例を使用して、MySQL のデータベース間トランザクション XA 操作について説明しま...
MySQLマスタースレーブを設定した後、スレーブの状態が正常かどうかわからないことが多く、例外が発生...
Vue3.0 がリリースされてからしばらく経ちましたが、勉強を始める必要があります。まず、達成したい...
今日 Docker コンテナを作成したとき、誤ってイメージの名前を間違って入力しました。その結果、コ...
注意: スコープアニメーションは使用できません。 ! ! ! GIF経由 <テンプレート>...
1、%: 0 個以上の任意の文字を表します。あらゆるタイプと長さの文字に一致します。場合によっては、...
1. redisイメージを検索する docker 検索 redis 2. Redisイメージをダウン...