rails与编码
来源:
作者:
时间:2007-09-19
点击:
这样我们在下载的时候调用send_file,:filename就可以使用中文了,他需要把utf8格式换成gbk才能给系统显示,我们使用:
:filename => UTF8_TO_GBK.iconv(filename)
这样就可以正常显示中文了。至于上传中文名文件,主要问题还是出现在保存到服务器的本地文件名乱码,我还没试过,但道理都是一样的吧。
今天早上又试了一下,终于可以了!主要还是确保读取和保存的本地文件名都为GBK格式
1.上传文件
filename=file.original_filename
File.open("#{RAILS_ROOT}/documents/#{UTF8_TO_GBK.iconv(filename)}", "wb")
这样保证上传到服务器后的文件名都是显示中文的。
2.下载文件
filename = Document.find(params[:id]).name
send_file("#{RAILS_ROOT}/documents/#{UTF8_TO_GBK.iconv(filename)}", :filename => UTF8_TO_GBK.iconv(filename))
这样保证可以识别中文名和保存的文件名也为中文。
备注:所有的这些都是在rails1.2里边进行的,请确保网页编码为content="text/html;charset=UTF-8"。
0

