我有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
答案 0 :(得分:1)
您是否只想忘记Percent-encoding?
irb(main):001:0> require 'uri'
=> true
irb(main):002:0> URI.unescape "http://www.example.com:8080/pk/s/151x120/%D8%A2%D9%88%D8%A7%D8%B2-%DA%A9.jpg"
=> "http://www.example.com:8080/pk/s/151x120/\330\242\331\210\330\247\330\262-\332\251.jpg"