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

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

ただいまの
回答率

90.75%

  • Ruby

    7036questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

デプロイ後の日本語が使えない不具合

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 76

takeke

score 14

aws(EC2)でrailsアプリをデプロイしたのですが、日本語が使えなくなって困っています。

デプロイしたアプリをブラウザ(クローム)で新たにユーザーや商品等データを入れるのですが、この際、英語入力しか受け付けなくなっています。
全角の英語や日本語を使うとWe're sorry, but something went wrong.のエラーページになってしまいます。
調べてもよくわからないのでもしこの原因や改善の仕方などわかる方いましたら宜しくお願いしますm(._.)m

デプロイではawsのmysqlを使っています。

やったことは、awsでRDSの設定した際にパラメーターグループを設定したのですが、なぜかそれが適用されていなくて、デフォルトのパラメーターグループになっていたのでこちらをcaracter~~の箇所をutf8に変更して、skip-character-set-client-handshakeを1にしたパラメーターグループをRDSに設定直しました。

次に、ターミナルにてmysqlに直接接続しまして、先ほどのパラメーターグループの内容を確認したところ、character_set_databaseがawsでutf8に設定して画面でもutf8だったんですがlatin1になっていたので.こちらもう一度ここでutf8に変更しました

+--------------------------+-------------------------------------------+
| Variable_name            | Value                                     |
+--------------------------+-------------------------------------------+
| character_set_client     | utf8                                      |
| character_set_connection | utf8                                      |
| character_set_database   | utf8                                      |
| character_set_filesystem | binary                                    |
| character_set_results    | utf8                                      |
| character_set_server     | utf8                                      |
| character_set_system     | utf8                                      |
| character_sets_dir       | /rdsdbbin/mysql-5.6.39.R1/share/charsets/ |

以上です。ここまではやったのですが現状まだ日本語が使えないのでどうしたらよいでしょうか?
何かアドバイスいただけたら幸いです。
必要なデータなどありましたらおっしゃってください宜しくお願いします。

追記。日本語入力した際のエラーログです。

D, [2018-05-25T07:06:01.042200 #3172] DEBUG -- : [40b88ae2-9446-4191-95e7-a1cdb3c3ca04]   SQL (3.0ms)  INSERT INTO `categories` (`c_name`, `created_at`, `updated_at`) VALUES ('あ', '2018-05-25 07:06:01', '2018-05-25 07:06:01')
D, [2018-05-25T07:06:01.045021 #3172] DEBUG -- : [40b88ae2-9446-4191-95e7-a1cdb3c3ca04]    (2.7ms)  ROLLBACK
I, [2018-05-25T07:06:01.045197 #3172]  INFO -- : [40b88ae2-9446-4191-95e7-a1cdb3c3ca04] Completed 500 Internal Server Error in 18ms (ActiveRecord: 12.5ms)
F, [2018-05-25T07:06:01.046044 #3172] FATAL -- : [40b88ae2-9446-4191-95e7-a1cdb3c3ca04]   
F, [2018-05-25T07:06:01.046087 #3172] FATAL -- : [40b88ae2-9446-4191-95e7-a1cdb3c3ca04] ActiveRecord::StatementInvalid (Mysql2::Error: Incorrect string value: '\xE3\x81\x82' for column 'c_name' at row 1: INSERT INTO `categories` (`c_name`, `created_at`, `updated_at`) VALUES ('あ', '2018-05-25 07:06:01', '2018-05-25 07:06:01')):
F, [2018-05-25T07:06:01.046139 #3172] FATAL -- : [40b88ae2-9446-4191-95e7-a1cdb3c3ca04]   
F, [2018-05-25T07:06:01.046161 #3172] FATAL -- : [40b88ae2-9446-4191-95e7-a1cdb3c3ca04] app/controllers/categories_controller.rb:19:in `block in create'
[40b88ae2-9446-4191-95e7-a1cdb3c3ca04] app/controllers/categories_controller.rb:18:in `create'
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • mather

    2018/05/25 15:51

    そもそもの部分なんですが、「日本語が使えない」を具体的に記載してください。日本語を入力すると何が起こるんですか?ログも確認していただいて、エラーメッセージ等あれば追記してください。

    キャンセル

  • takeke

    2018/05/25 16:00

    失念していましたすみません。デプロイしたアプリをブラウザ上で何かデータを登録する際に半角英語ですと問題なく登録できるのですが、全角英語、それと日本語を使うとWe're sorry, but something went wrong.という文字がでるエラーページになってしまうといった具合です。エラーログは確認の仕方がわからないので調べてみます

    キャンセル

回答 1

0

日本語が使えない、というときは「エンコード」や「文字コード」などをキーワードに入れて検索してみると良いでしょう。
すぐに有益な情報が出てくると思いますよ。自分で調べてほしいのでリンクは張りません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/25 15:20 編集

    コメントありがとうございます。なぜか本文が途中のままアップされていたので本文修正いたしました。
    エンコードはもしかしたらあるかもしれませんね。しかし対処の仕方がわからないので調べてみます。他に何かおきづきのところなどありましたら宜しくお願いします。

    キャンセル

  • 2018/05/25 16:03

    おそらくデータベースだけでなくて、システム全体の日本語環境設定が必要だと思うんですよね。
    例えばこちらのページを参照して確認してみてはいかがでしょうか?
    https://qiita.com/nino0813g/items/e166c00790c3397acf2d

    キャンセル

  • 2018/05/25 16:13

    ありがとうございます。ひとまずエラーログをみれたので本文に追記させていただきました。
    システム全体の設定ですか。こちらは試したことなかったのでみてみます!

    キャンセル

  • 2018/05/25 16:22

    ログを見ましたが、データベーススキーマがおかしいと思いますよ。
    Mysql2::Error: Incorrect string value: '\xE3\x81\x82' for column 'c_name' at row 1: INSERT INTO `categories` (`c_name`, `created_at`, `updated_at`) VALUES ('あ', '2018-05-25 07:06:01', '2018-05-25 07:06:01')

    categoriesのデータベースの定義(モデルとマイグレーション)を記載してください。

    キャンセル

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

  • ただいまの回答率 90.75%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Ruby

    7036questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。