Собственно, как только я пытаюсь вывести из базы строку с русскими символами то получаю ошибку incompatible character encodings: UTF-8 and ASCII-8BIT
Я перечитал весь чертов интернет, кодировка базы у меня в utf-8, все файлы в ней же. Дальше я пробовал ставить гем 'russian', 'mysql2', 'ruby-mysql' прописывал магические комментарии, пытался добавлять строчки в конфиги, но все тщетно, ошибка никуда не пропала. Этому багу уже больше двух лет, неужели никто не нашел простого решения?
Вы реально плохо соображаете? "простого решения" - это не отсутствие решения в принципе это раз. "неужели никто не нашел?" - это как бы вопрос, это два. И само "неужели" - это "выражает удивление, сомнение в возможности сказанного" (с) wiktionary.
Скажите как вы все это собрали в то что я считаю что никто не пользуется русским вообще? Может быть вы и не плохой руби специалист, но вы во первых у вас проблемы с коммуникацией, а во вторых вы тут целый день пишете мне какие то не существенные глупые фразы, но способ решения проблемы даже не попытались предложить.
На основе всего выше сказанного я бы рекомендовал вам удалить аккаунт на тостере и зарегистрировать где нибудь на пикабу.
gem install rails
rails new app
rails g scaffold user name
rails c
User.create(name: "Имя")
User.first.name
# Имя
# Press CTRL + D
rails s
# Navigate to http://localhost:3000/users
# See id: 1, name: Имя
Довольно простое решение для записи и вывода из базы русских символов, не находите?
Если вы взяли какую-то существующую базу, непонятно откуда, непонятно как она создавалась. Непонятно, какая у вас система (может, вы на винде вообще это все делаете)... И т.д. и т.п, то не называйте это "проблемой, которой уже более двух лет", а учитесь правильно ставить вопрос. И себе и окружающим.
Простое решение? Серьезно, кусок когда создающий пользователя в базе это решение? У меня нормально поставлен вопрос, у меня не винда, ни взятая от куда то база, все стандартное, зря вы все это придумали. Этой проблеме реально два года можете погуглить. И если вам нужны какие то доп уточняющие данные их можно спросить, как например @exvion. До тех пор пока вашей целю будет показать себя самым умным, а не помогать тем кто задает вопросы у вас вечно будут проблемы с "неверное сформулированными вопросами". Кстати на аргументированный спорт вы тоже не способны, вы целый день пытались доказать, что я якобы сказал - "проблема не решается уже два года", а когда я аргументированно показал вам, что вы в корне не правы, вы сразу оставили ту темы и начали доказывать мне совершенное другое утверждение.
кусок кода показывает, что если взять 4 рельсы (что указано в заголовке) и создать новое приложение\чистую базу (заметьте, в заголовке и теле вопроса ничего про mysql, только в вашем "методе решения проблемы"), то нет абсолютно никаких проблем в работе с UTF-8 символами.
Какому багу 2 года - тоже совершенно непонятно. Если вы про проблемы руби < 1.9.3, где приходилось пользоваться магическими комментариями, то, каюсь, даже не подумал. Ведь для человека, который хоть как-то начинает разбираться с рельсами, очевидно, что 4 рельсы = 2 руби (хоть и не обязательно)
У меня последние рельсы как и последний руби, новое приложение и чистая база. Если бы вы спросили, я бы все это вам сказал. Я не уточнял эти моменты потому, что судя по ответам на том же SO это не имеет никакого значения, а вот если вы знаете, что это имеет значения почему не спросили? Судя по гуглу это все началось именно с руби 1.9.3 два года назад. И вы опять игнорируете все мои аргументы, просто пропуская мимо ушей. Я не собираюсь тратить свое время на вас, не вижу в этом смысла, удачи!
Редактор rubyMine, но проблема была все же в базе, стал дальше копать в сторону гема "mysql2" и после того как пересоздал полностью базу уже с использованием этого гема все наконец заработало.