質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

2981閲覧

ECSとRDSの本番環境でMysql2::Error: Incorrect string valueのエラーを解消できない

hitoyasablue

総合スコア8

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2021/05/03 05:47

編集2021/05/03 07:01

前提・実現したいこと

docker-composeによるコンテナをfargateにデプロイしようとしています。
DBはRDSでMySQLインスタンスを作成しています。

発生している問題・エラーメッセージ

タスク起動後、ALBのドメインを叩いてアプリを表示し、ユーザ登録をしようとしたところエラー画面になりました。
その時のcloudwatchはログは以下です。

ActiveRecord::StatementInvalid (Mysql2::Error: Incorrect string value: '\xE3\x81\x8A\xE3\x82\x81...' for column 'name' at row 1): [5a2d9920-b615-45ca-837b-67415ca1060d] ActiveRecord::StatementInvalid (Mysql2::Error: Incorrect string value: '\xE3\x81\x8A\xE3\x82\x81...' for column 'name' at row 1):

試したこと

入力するデータを日本語を入れずアルファベットと記号のみで登録するとエラーにはなりませんでした。
DBに設定されている文字コードが日本語対応されていないものになっていると思い、以下のことをしました。

  • RDSインスタンスのパラメータグループの文字コードに関連しそうな6項目をutf8mb4に設定し、インスタンスを再起動する(character_set_client、character_set_connection、character_set_database、character_set_filesystem、character_set_results、character_set_server)

  • database.ymlのencodingとcharsetをutf8からutf8mb4に変更する

しかし状況は変わらず、日本語を入れてユーザ登録すると同様のエラーログが出る次第です。

該当のソースコード

database.yml

default: &default adapter: mysql2 encoding: utf8mb4 pool: 5 charset: utf8mb4 username: XXXX password: XXXX host: db development: <<: *default database: myapp_development test: <<: *default database: myapp_test production: <<: *default database: <%= ENV['RDS_DB_NAME'] %> username: <%= ENV['RDS_USERNAME'] %> password: <%= ENV['RDS_PASSWORD'] %> host: <%= ENV['RDS_HOSTNAME'] %> port: <%= ENV['RDS_PORT'] %> url: <%= ENV['RDS_URL'] %>

補足情報(FW/ツールのバージョンなど)

MAC OS

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

このへんを確認してみてください。
パラメータグループの設定だけでなく、ちゃんと反映されたか実際にRDSに繋いで確認してみることも必要です。

投稿2021/05/03 16:26

yu_1985

総合スコア7588

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hitoyasablue

2021/05/05 03:13

ご教示いただいたページをもとにRDSに入って文字コードまわりの設定を確認しました。反映されていなかったため直で設定変更したところエラーが解消されました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問