[sisyphus] Redmine и кириллица в названиях файлов
Alexey I. Froloff
raorn на altlinux.org
Пт Июл 23 15:57:01 UTC 2010
On Fri, Jul 23, 2010 at 06:00:18PM +0300, Денис Ягофаров wrote:
> Исследовав проблему, я определил, что во всём виновато
> app/models/attachment.rb ,
> а именно в функции sanitize_filename строка:
> @filename = just_filename.gsub(/[^\w\.\-]/,'_')
> Если её земенить на:
> @filename = just_filename.force_encoding('UTF-8')
Ruby 1.9 прекрасно работает с юникодом. Проблема в головах у
некоторых идиотов-рубероидов с семибитными мозгами:
$ LC_CTYPE=ru_RU.UTF-8 ruby -e 'puts "a,п╟,b,п╠,c,п╡".gsub(/[^\w]/, "")'
abc
$ LC_CTYPE=ru_RU.UTF-8 ruby -e 'puts "a,п╟,b,п╠,c,п╡".gsub(/[^[:word:]]/, "")'
aп╟bп╠cп╡
Т.е. меняем \w (который на самом деле [A-Za-z0-9_]) на [:word:]
(который word chars с учётом локали).
P.S. Извините за пяпя, я from the past и живу в koi8-r ;-)
--
Regards, --
Sir Raorn. --- http://thousandsofhate.blogspot.com/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 198 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20100723/6d08f5eb/attachment.bin>
Подробная информация о списке рассылки Sisyphus