【发布时间】:2011-12-16 08:58:24
【问题描述】:
我有这样的UTF-8 网址请求:
http://www.example.com:8080/pk/s/151x120/%D8%A2%D9%88%D8%A7%D8%B2-%DA%A9.jpg
我将结果存储在一个文件名中:
%D8%A2%D9%88%D8%A7%D8%B2-%DA%A9.jpg
但 nginx 似乎没有看到缓存并重做相同的请求。我发现 nginx 确实加载了这种UTF-8 文件名:
\341\203\250\341\203.jpg
但是,我不记得编码的名称或生成这样文件名的 ruby 方法... :(
使用:Rails 3.1.3、Ruby 1.9.2、Nginx 和 FreeBSD
【问题讨论】:
-
没有人知道结尾的名字吗? :(
-
我不知道那个编码类型,但它看起来像一个字节数组:
"%D8%A2%D9%88%D8%A7%D8%B2-%DA%A9".unpack("U*") -
你总是可以对文件名进行base64编码,这样你就有了字母数字文件名。
标签: ruby-on-rails ruby encoding nginx freebsd