实现文件的下载以及中文文件名乱码问题
我用的是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