原网址:
http://blog.youkuaiyun.com/candy_whut/archive/2009/03/17/3998838.aspx
谢谢这哥们的办法,真管用。ff和ie下均OK。
实现文件的 下载以及中文文件名乱码问题
我用的是Mysql数据库,首先建表时要注意,看下面的例子:(注意红色的部分)
CREATE TABLE `books` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) default NULL,
`author` varchar(255) default NULL,
`description` text,
`created_at` datetime default NULL,
`updated_at` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
然后在ROR代码中,
require 'iconv'
def download_book
@book=Book.find(params[:id])
@bookcontent=@book.description
#简体中文显示:
bookname = Iconv.iconv("GB2312", "UTF-8", @book.name)
#繁体中文显示:
bookname = Iconv.iconv("GBK", "UTF-8", @book.name)
send_data(@ bookcontent , :filename => bookname , :disposition => 'attachment')
end