`
hideto
  • 浏览: 2679087 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ruby导出xls和csv的utf-8问题的解决

    博客分类:
  • Ruby
阅读更多
数据库数据为utf-8格式,包括中文和拉丁文等等
导出文件xls格式和csv格式时会出现乱码情况

0,前提
在database.yml里使用utf8编码连接数据库:
encoding: utf8


1,xls
使用spreadsheet 0.6.3版本
以前低版本(<=0.3.5.1)的spreadsheet导出xls还是有utf-8编码出现乱码情况,升级到最新的0.6.3时自带一个向下兼容的excel.rb文件可以很好的解决问题,只有add_worksheet这个方法接口要注意一下,必须带参数name

2,csv
需要给csv文件头写入utf-8 BOM:
output = StringIO.new("", "w")
# make excel using utf8 to open csv file
head = 'EF BB BF'.split(' ').map{|a|a.hex.chr}.join()
output.write(head)
分享到:
评论
1 楼 xiaoqiu369 2009-02-13  
在ruby应用程序下如何解决乱码问题?

相关推荐

    ruby导出csv文件

    要从Ruby程序中导出数据到CSV文件,我们可以利用`FasterCSV`库,它为处理CSV文件提供了高效且灵活的方法。尽管在Ruby 1.9及更高版本中,`FasterCSV`已经被`csv`标准库所取代,但在某些情况下,开发者可能仍选择使用`...

    src-oepkgs/ruby-ruby2ruby

    src-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2...

    ruby-oci8-2.1.5-x86-mingw32.gem

    ruby-oci8-2.1.5-x86-mingw32.gem,ruby连接oracle数据库gem包

    rails3.1.0解决数据库取出来的信息编码为utf-8

    标题 "rails3.1.0解决数据库取出来的信息编码为utf-8" 指向的是在使用Rails 3.1.0版本时遇到的一个常见问题,即从数据库检索的数据编码不是预期的UTF-8格式,导致显示异常或乱码。在Rails应用中,数据的正确编码对于...

    ruby安装包-rubyinstaller-devkit-3.0.2-1-x64安装文件

    RubyInstaller是Windows平台上安装Ruby的一种便捷方式,而DevKit则是用于编译和链接C扩展的工具集。 标题中的"rubyinstaller-devkit-3.0.2-1-x64.zip"表明这是RubyInstaller的一个版本,包含了Ruby 3.0.2的开发工具...

    rh-ruby25-rubygems-devel-2.7.6-6.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    ruby安装包-rubyinstaller-devkit-3.0.2-1-x64.zip

    总的来说,"rubyinstaller-devkit-3.0.2-1-x64.zip"是一个完整的Ruby开发环境,包含Ruby解释器和必要的开发工具,使得Windows用户可以轻松地安装和使用Ruby及其相关的开源库。这个压缩包对于希望在Windows系统上进行...

    ruby-debug-base19-0.11.26.gem

    ruby-debug-base19-0.11.26.gem

    Ruby 与编码

    Ruby 与编码 常见问题 * 乱码的问题 * Ruby 中 Unable to convert "\x89" from ASCII-8BIT to UTF8 *Incompatible character encodings: ASCII- 8BIT and UTF-8

    Ruby 中关于日文转UTF-8及半角全角转换的技巧

    1.日文转UTF-8 Iconv.new(‘cp932’, ‘utf-8’)与Iconv.new(‘shift_jis’, ‘utf-8’)的区别 Iconv.new(‘shift_jis’, ‘utf-8’)不支持以下的格式: 課№001-18 XXXXXXX 而只能把字符窜中的№换成No.才行 但是...

    ruby-1.8.7-p358-i386.rar

    ruby-1.8.7-p358-doc-chm.7z 3.65 MB 1,399 Other Other ruby-1.8.7-p358-i386-mingw32.7z 5.12 MB 1,503 i386 Other rubyinstaller-1.8.7-p358.exe 11.69 MB 13,534 i386 .exe (Windows executable)

    ruby+selenium-webdriver测试--第一个例子源代码

    Ruby是一种动态、面向对象的编程语言,而Selenium WebDriver是一个开源的自动化测试框架,支持多种浏览器和编程语言,其中包括Ruby。在这个“ruby+selenium-webdriver测试--第一个例子源代码”中,我们将探讨如何...

    ruby-oci8-1.0.3-x86-mswin32.gem

    ruby-oci8-1.0.3-x86-mswin32.gem

    ruby-debug-ide

    除了基本的调试功能,ruby-debug-ide还支持条件断点、监视表达式、远程调试等功能,这些特性可以帮助你更精细地控制调试过程,解决复杂的问题。 总结,ruby-debug-ide是Ruby开发者的得力助手,它使得在IDE中进行...

    xls2csv:将 xls 文件转换为 csv 的 Ruby 脚本

    您可以省略 input_xls_file 和/或 output_csv_dir。 它们的默认值定义为 bin/xls2csv,您可以更改它。 DEFAULT_XLS_FILE = 'spec/fixture/test.xls' DEFAULT_CSV_DIR = 'spec/fixture/output' 选项 h,help show

    ruby-1.9.1-p0-i386-mswin32.rar

    在本压缩包“ruby-1.9.1-p0-i386-mswin32.rar”中,包含的是针对i386架构的Windows 32位系统的Ruby安装程序。这个版本(p0)意味着它是1.9.1主版本下的一个特定补丁级别,通常包括了一些错误修复和优化。 Ruby的...

    mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe

    mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe

    csv导出大量数据

    CSV文件通常使用UTF-8编码,以确保全球字符集的兼容性。确保在导出大量数据时选择正确的编码,避免字符乱码问题。 3. 大数据导出的挑战 - 文件大小:当数据量巨大时,CSV文件可能会变得非常大,导致打开、传输或...

    采用UTF-8解决Ruby on Rails程序的中问题

    1.将.rb文件和.rhtml文件都保存为utf-8格式; 2.在/app/Controller/application.rb中增加如下代码: ruby 代码 代码如下:before_filter :set_charset def set_charset headers[“Content-Type”] = “text/html; ...

    ruby-debug-ide19-0.4.12.gem

    ruby-debug-ide19-0.4.12.gem

Global site tag (gtag.js) - Google Analytics