私はRails 5とMySQL 5.7を使用しています。私は私のdatabase.ymlの中で、次のしている:テーブルのエンコードが間違っているのはなぜですか?
default: &default
adapter: mysql2
pool: 5
encoding: utf8mb4
charset: utf8mb4
collation: utf8mb4_unicode_ci
socket: /tmp/mysql.sock
development:
<<: *default
database: [...]
username: [...]
password: [...]
は、私は私のデータベースを再作成するrake db:reset
を実行して、私はshow create table users
を実行し、私はCREATE TABLE
ユーザー([...]) ENGINE=InnoDB DEFAULT CHARSET=utf8
を参照してください。
なぜ私はCHARSET=utf8
で、どうすれば修正できますか(それをutf8mb4
と同じにします)?ありがとう。あなたがテーブルを作成するときに
実際には、データベースのデフォルトはutf8mb4です。 '| character_set_database | utf8mb4'しかし、Railsはこれを尊重していません。これはRailsの質問です。私は毎回明示することができますが、私はしたくありません。 –
Railsはテーブルを作成しますか? (私はRoRを知らない) –
あなたが通常のワークフローを使用するならば、それはあなたのためのテーブルを作成します。詳細は以下の私の答えを見てください。 –