当我使用 Firefox 上传名为“åäöÅÄÖ.jpg”的文件时,它会将其存储为“a?a?o?A?A?O?.jpg”
使用 Google Chrome、Safari 和 Internet Explorer 可以正常工作。
当我观看 Rails 控制台时,插入文件名的查询看起来没问题:
BlogHeader Update (0.4ms) UPDATE 'blog_headers'
SET 'large_file_name' = 'åäöÅÄÖ.jpg',
'updated_at' = '2012-10-19 14:13:36' WHERE 'id' = 14`
显然是一个编码问题,但我似乎无法追踪它在哪里中断。有任何想法吗?使用 Rails 2.3.11 和 Paperclip 2.8.0。
编辑: 解决此问题的另一种方法是在文件上传后重命名文件名(例如,使用正则表达式删除所有非 az 字符)。我一直在研究 Paperclip 中的插值,但由于这适用于已经上传的文件,它也会破坏它们。