すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ApsaraDB RDS for MySQL インスタンスで絵文字を保存するにはどうすればよいですか?

最終更新日:Jul 15, 2025

ApsaraDB RDS for MySQL インスタンスに絵文字を保存すると、エラーコード [1366]。不正な文字列値: 'xx' または 一般的なエラー: 3988 パラメーターに対して utf8mb3_general_ci から utf8mb4_general_ci への変換は不可能です というエラーメッセージが表示される場合があります。原因は、UTF-8 文字セットの文字が最大 3 バイトまでサポートされていることです。ただし、絵文字を保存するには 4 バイトが必要です。この場合、utf8mb4 文字セットを使用して絵文字を保存できます。

互換性要件

RDS インスタンスに絵文字を保存するには、次のコンポーネントに utf8mb4 文字セットを使用する必要があります。

  • クライアント:クライアントは出力文字列に utf8mb4 文字セットを使用します。

  • データベース接続レイヤー: utf8mb4 文字セットがサポートされています。たとえば、JDBC 接続を作成する場合は、次の要件が満たされていることを確認してください。

    • MySQL Connector/J ドライバーはバージョン 5.1.13 以降を実行しています。

    • JDBC 接続文字列に characterEncoding パラメーターを設定していません。

  • RDS インスタンス:

文字セットの変更

文字セットがビジネス要件を満たしていない場合は、次の優先順位に基づいて文字セットを変更できます。

  1. インスタンスレベルのパラメーター character_set_server

  2. データベース文字セット

  3. テーブル文字セット

  4. フィールド文字セット

説明

utf8 から utf8mb4 に文字セットを変更した後、次の点に注意してください。

  • データの互換性には影響しません。

  • 新しいデータに絵文字を保存できます。

  • 推定データストレージが増加します。