私のRails 4.2アプリケーションで、私は奇妙な問題に遭遇しました。私はutf8mb4にmysqlエンコーディングを切り替える必要がありました(投稿で絵文字を許可する)。 私は5.7にMySQLを更新した、とdatabase.ymlの更新、変更tabelsなど:Mysql2 ::エラーutf8mb4(パス:/ usr/share/mysql/charsets /)の文字セットを初期化できません
encoding: utf8mb4
collation: utf8mb4_unicode_ci
は、すべてのMac OSを実行している私のローカルマシン上で働いていました。
テストサーバーでは、同じ手順と設定を行っています。
innodb_file_format = Barracuda
innodb_large_prefix
innodb_file_per_table = 1
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8mb4'
innodb_file_format_max = Barracuda
innodb_strict_mode = 1
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
I:私はdatabase.ymlの に
encoding: utf8mb4
を設定している場合しかし、私は、私は両方のマシン上のmy.cnfに行ってきたmysqlのため
Mysql2::Error Can't initialize character set utf8mb4 (path: /usr/share/mysql/charsets/)
追加のMySQLの設定を取得しますRailsアプリではなく、テストサーバー上で絵文字を追加できます。 どちらのマシンでも、私はus0ですmysql2
バージョン0.3.21
です。 この問題の原因は何ですか?
PS。私のローカルには持っていませんが、テストマシンのIndex.xmlにutf8mb4を追加しましたが、それは助けになりませんでした。
サーバーのMySQLサーバのバージョンは何ですか?私はあなたの問題だと思う。 utf8mb4は5.5以降サポートされていると思いますが、わかりません。 –
私はMySQL 5.7.19を使用しています。データベース自体はuft8mb4をサポートしており、Railsアプリケーションではなく、データベースにシンボル(絵文字)を挿入できます。 – rolkos
@rolkos - これが役立つかどうかを確認してください:http://blog.arkency.com/2015/05/how-to-store-emoji-in-a-rails-app-with-a-mysql-database/ –