Доброго времени суток. Продолжая налаживать у себя redmine, столкнулся с досадной фичей: если прикреплять куда-либо файлы с кириллицей в названии (проба.расш) то все не ASCII буквенные символы переименовываются в "_" ( __________.________ ). Это, для русскоговорящего человека неприятно. (баг тут - http://www.redmine.org/issues/4324) Исследовав проблему, я определил, что во всём виновато app/models/attachment.rb , а именно в функции sanitize_filename строка: @filename = just_filename.gsub(/[^\w\.\-]/,'_') Если её земенить на: @filename = just_filename.force_encoding('UTF-8') , то руссике имена отлично работают, но безопасность должна падать ниже плинтуса, т.к. злоумышленник может загрузить файл с хитрым названием и не буквенными символами. ( http://guides.rubyonrails.org/security.html : 4.2 File Uploads) В свою очередь, можно было бы заставить ruby работать с UTF8. Про это рассказывается тут: http://stackoverflow.com/questions/1627767/rubys-stringgsub-unicode-and-non-word-characters Но, у меня не получилось... Наверно, это связано с ruby: $ irb -U irb(main):001:0> my_str = "Quística." => "Quпробаstica." irb(main):002:0> processed = my_str.gsub(/\W/,'') => "Qustica" $ irb -Ku /usr/share/ruby/1.9/irb/init.rb:199:in `parse_opts': Unrecognized switch: -Ku (IRB::UnrecognizedSwitch) from /usr/share/ruby/1.9/irb/init.rb:18:in `setup' from /usr/share/ruby/1.9/irb.rb:53:in `start' from /usr/bin/irb:12:in `
' $ ruby -Ku /tmp/test.rb Qustica $ cat /tmp/test.rb my_str = "Quпробаstica." processed = my_str.gsub(/\W/,'') print processed Возможно, кто-то сможет подсказать как заставить регулярные выражения и нашу ruby работать с unicode. ruby-1.9.1-alt1.r26040.1 П.С. До кучи: кто-то проверял добавление файлов из писем? Тут рассмотрена эта проблема: http://redmine.net.ua/forum/index.php?topic=114.0