国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ WeChat アプレット WeChatの開(kāi)発 mysql は絵文字表現(xiàn) (WeChat 開(kāi)発ユーザーのニックネーム..) を保存します。

mysql は絵文字表現(xiàn) (WeChat 開(kāi)発ユーザーのニックネーム..) を保存します。

Feb 15, 2017 am 10:47 AM

java.sql.SQLException:?Incorrect?string?value:?'\xF0\x9F\x92\x94'?for?colum?n?'name'?at?row?1?at?com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)?
at?com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)?
at?com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)?
at?com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)?
at?com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)?
at?com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)?
at?com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1662)?
at?com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1581)

上記のエラーが報(bào)告される場(chǎng)合は、Java コードのフィールドがデータベースのフィールド タイプまたはエンコーディングと一致していない可能性があります。この場(chǎng)合は、形式またはエンコーディングを統(tǒng)一してください。

ここでは主にデータベースに絵文字畫(huà)像を挿入する際のエラーと解決策を紹介します


mysqlデータベースを使用する場(chǎng)合、文字セットがUTF-8でJavaサーバー上で絵文字表現(xiàn)を保存する場(chǎng)合、上記のようになります。スローされる異常 (たとえば、WeChat 開(kāi)発ではユーザーのニックネームが取得され、一部のユーザーのニックネームでは絵文字畫(huà)像が使用されます)

これは、UTF-8 エンコーディングが 2、3、または 4 である可能性があるため、文字セットがサポートされていないための例外です。文字セクションでは、絵文字表現(xiàn)が 4 バイト、mysql の UTF-8 エンコーディングが 3 バイトまでであるため、データを挿入できません。

解決策:
1. データベースレベルで解決します (MySQL は utf8mb4 バージョン 5.5.3 以降をサポートしているため、新しいバージョンにアップグレードする必要があります)
注:
(1. データベース、テーブル、列の文字セットを変更します

)

ALTER?DATABASE?database_name?CHARACTER?SET?=?utf8mb4?COLLATE?=?utf8mb4_unicode_ci;ALTER?TABLE?table_name?CONVERT?TO?CHARACTER?SET?utf8mb4?COLLATE?utf8mb4_unicode_ci;ALTER?TABLE?table_name?CHANGE?column_name?VARCHAR(191)?CHARACTER?SET?utf8mb4?COLLATE?utf8mb4_unicode_ci;

(2. mysql 設(shè)定ファイル my.cnf を変更します (ウィンドウは my.ini)

[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'

(3. Java サーバーを使用している場(chǎng)合は、mysql 接続バージョンをアップグレードするか確認(rèn)します) 5.1.13 より高い、そうでない場(chǎng)合はまだ utf8mb4 を試すことができません
(4. サーバー側(cè)の DB 設(shè)定ファイル

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=TRUE
jdbc.username=root
jdbc.password=password

mysql-connector をアップグレードすると、characterEncoding=utf8 が自動(dòng)的に認(rèn)識(shí)されますutf8mb4 (オリジナルの utf8 と互換性あり)、および
autoReconnection (データベース接続が異常に中斷された場(chǎng)合、自動(dòng)的に再接続しますか? デフォルトは false) を追加することを強(qiáng)くお?jiǎng)幛幛筏蓼埂¥长螌傩预驘o(wú)視すると、キャッシュが発生する可能性があります。 DB の設(shè)定が読み込まれていないため、utf8mb4 文字セットを試行できません



2. アプリケーション層から解決します

データを取得したら、データ インベントリに送信する前にエンコードします。

URLEncoder.encode(nickName,?"utf-8");

データベースから取り出して表示の準(zhǔn)備ができたらデコードします。

URLDecoder.decode(nickname,?"utf-8");

アプリケーション層から問(wèn)題を解決するときは、オブジェクトゲッターで直接エンコードしないことをお?jiǎng)幛幛筏蓼箂etter メソッドは、オブジェクトを配置するときにニックネームをエンコードするため、これを參照すると、オブジェクトから getter メソッドを呼び出すことと同じになります。これは、上記の問(wèn)題が引き続き発生することを意味します。

mysql で保存された絵文字表現(xiàn) (WeChat 開(kāi)発ユーザーのニックネーム) については、PHP 中國(guó)語(yǔ) Web サイトを參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)