Нельзя использовать польские буквы в приложении RoR

У меня проблема при попытке вставить объект в базу данных. Похоже, это проблема конверсии. Есть ли способ это исправить?

   I, [2017-10-28T14:02:19.923386 #56398]  INFO -- : [49eba256-de7f-48df-8d00-05148a6495d3] Completed 500 Internal Server Error in 286ms (ActiveRecord: 9.5ms)
F, [2017-10-28T14:02:19.925305 #56398] FATAL -- : [49eba256-de7f-48df-8d00-05148a6495d3]
F, [2017-10-28T14:02:19.925557 #56398] FATAL -- : [49eba256-de7f-48df-8d00-05148a6495d3] ActiveRecord::StatementInvalid (Encoding::UndefinedConversionError: U+0142 from UTF-8 to US-ASCII: INSERT INTO "RECIPE_INGREDIENTS" ("QUANTITY", "RECIPE_ID", "INGREDIENT_ID", "CREATED_AT", "UPDATED_AT", "ID") VALUES (:a1, :a2, :a3, :a4, :a5, :a6)):
F, [2017-10-28T14:02:19.925663 #56398] FATAL -- : [49eba256-de7f-48df-8d00-05148a6495d3]

Это происходит только тогда, когда я использую польские символы, такие как ł, ą, ć

1 ответ

Решение

Скорее всего, ваша базовая база данных настроена с набором символов US7ASCII, который не поддерживает символы UTF8, но ваше приложение является приложением UTF8. Скорее всего, вам нужно будет работать с командой DBA, чтобы получить базу данных с AL32UTF8 или подобным набором символов.

Другие вопросы по тегам