Rails (проблема с кодировкой utf-8): активная запись неправильно выбирает данные msyqldb - PullRequest
0 голосов
/ 22 февраля 2019

один из атрибутов (названий) моей Модели имеет эти данные

name = "Cirque du Soleil® at Mandalay"
result = Model.find_by_name()
puts result
"Cirque du Soleil\xC3\x82\xC2\xAE at Mandalay"

, когда рельсы выбирают данные, почему они не выбираются правильно?

И когда я пытаюсь сохранить этоданные в оракула БД.Я получаю эту ошибку.

ERROR -- : Encoding::UndefinedConversionError: "\xC3" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII: INSERT INTO "ACTIVITIES"."ACTIVITY_COLLECTIONS" ("ID", "NAME", "CREATED_AT", "UPDATED_AT", "IS_CUSTOM", "PRODUCT_ID", "URL_SLUG") VALUES (:a1, :a2, :a3, :a4, :a5, :a6, :a7)

мой database.yml имеет

encoding: utf8

Я добавил в boot.rb

ENV['NLS_LANG'] = 'AMERICAN_AMERICA.UTF8'

Пожалуйста, помогите мне, что яЯ пропал?

1 Ответ

0 голосов
/ 22 февраля 2019

Нашел решение.

Это происходило из-за версии mysql gem.

Обновил его до

gem 'mysql2', '~> 0.3.18'

Ранее я использовал

gem 'mysql'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...