
前提・実現したいこと
数字を含んだ文字列をproduction環境でMYSQL5.5.6のDBに保存したい。
MYSQL5.5.6(AWSのEC2)
ruby 2.6.3
rails 5.2.3
発生している問題・エラーメッセージ
例) ”35.8019293,139.7176375”
上記のような文字列をカラムに保存しようとしたところ以下のようなエラーが出てしまい保存ができない
Mysql2::Error: Incorrect string value: '\xE5\xB7\x9D\xE5\x8F\xA3...'
該当のソースコード
database.yml
Ruby
1production: 2 adapter: mysql2 3 database: db_commute_info 4 encoding: utf8mb4 5 charset: utf8mb4 6 collation: utf8mb4_general_ci 7 pool: 5 8 timeout: 5000 9 username: <%= ENV['DATABASE_AWS_USER'] %> 10 password: <%= ENV['DATABASE_AWS_PASSWORD'] %> 11 host: <%= ENV['DATABASE_AWS_HOST'] %>
my.cnf
Ruby
1[client] 2default-character-set=utf8mb4 3 4[mysqld] 5character_set_server=utf8mb4
MYSQLの設定
該当カラム
controller
Ruby
1 if !@info.station1.empty? && !@info.station1.include?("駅") 2 @info.station1 << "駅" 3 results1 = Geocoder.search(@info.station1) 4 @info.longitude_latitude1 = results1.first.coordinates.join(',') 5 elsif !@info.station1.empty? && @info.station1.include?("駅") 6 results1 = Geocoder.search(@info.station1) 7 @info.longitude_latitude1 = results1.first.coordinates.join(',') 8 end 9 10 11 if @info.save 12 . 13 . 14 .
試したこと
・MYSQLで、variable_nameの文字コードをutf8mb4に
・database.yml内の設定もutf8mb4に
上記一通り試して見ましたが数時間ハマりっぱなしの状態です。お力添えいただければ幸いです。
回答2件
あなたの回答
tips
プレビュー