Очевидно, что есть проблема с вашей кодировкой. Убедитесь, что ваш текст в Unicode, прежде чем записывать его в текстовый файл. Вы можете использовать что-то вроде этого:
ic = Iconv.new('UTF-8//IGNORE', 'UTF-8')
your_unicode_text = ic.iconv(your_text + ' ')[0..-2]
Кроме того, дважды проверьте, что кодировка вашей базы данных - UTF-8. Символы кириллицы могут отображаться нормально в БД и в формате html с кодировкой не-юникод, например, KOI8-RU, но вы гарантированно будете иметь проблемы с ними в другом месте.