最近弄csv导出,碰到了中文乱码问题。折腾了很久,一两天去了。
试过几个库都碰到编码的问题。
也用到了fastercsv(ruby1.9.2已添加到标准库为csv,require 'csv'),导出一样乱码,有高手说
output = NKF.nkf("-wLuxs",output) #转化编码格式
用这个来转换,但是我试了,在我的项目中反正是没有效果。(这里是用到nkf库,require 'nkf')
后面看到有人说要加个这个:
head = ‘EF BB BF’.split(' ').map{|a|a.hex.chr}.join()
看起来好高深- -!这么复杂~。~
不过加进去还真起效果了。但是怎么个加进去。是个问题:
我用fastercsv,把上面这个head加到第一行,乱码问题解决了,但是csv文件多了一空行。这显然不行。然后又是折腾如何把我内容的头部放到第一行。。。倍感这东西太坑了。
其实:
一切也没多难,就是我们需要给导出的csv开头加个BOM(我这里导出的格式使用utf8),也就是要加个16进制串:“\xEF\xBB\xBF”。上面的head的值其实就是这个串,搞那么复杂,吓倒我了!!
到现在应该就明了了,就是在csv文件最开始加上“\xEF\xBB\xBF”,比如我的csv中有个头部,我就加到头部:
header: ["\xEF\xBB\xBF姓名",'手机','']
这里要注意的是ruby字符串可以用单引号,和双引号。区别就不多说了,这里引用16进制串的就必须用双引号,其他的没事,你懂的。写好点可以封装一下。
至此搞定!其他什么都不要弄,就在开始加个\xEF\xBB\xBF,这个需要放到双引号中.
当然,这不是最好的方案。但是~管用~ 不管你有没有用,我反正是有用了^_^ ~。
参考:
http://www.zhouwenyi.com/node/10087
http://stackoverflow.com/questions/155097/microsoft-excel-mangles-diacritics-in-csv-files
相关推荐
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
Ruby On Rails中文教材(PDF)
Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 ...
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
ruby on rails社区网站开发源码
本书的目标是成为对“如果想学习使用 Ruby on Rails 进行 Web 开发,我应该从哪儿开始?”这一问题的最好答案。学习完本书的内容之后,你将具备使用 Rails 进行开发和部署 Web 程序的技能。同时你还能够通过一些进阶...
Ruby on Rails Web开发学习实录 内容简介: 在目前的主流web开发技术中,基于ruby语言的rails框架是做网站开发速度最快的工具。它可以达到j2ee框架开发速度的5~10倍,并且代码量也非常少。另外由于代码量的大幅度...
ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作
Ruby on Rails中文指南
Ruby on Rails 4 Tutorial 中文版,我自己在网站找的,真好的中文版本
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。
Ruby On Rails 官方教程,这本书讲解如何使用 Ruby on Rails 框架开发应用,以及如何把应用部署到生成环境。...这本书是《Ruby on Rails Tutorial, Third Edition》的简体中文版,由作者授权翻译和销售。
ruby on rails 教程源码,配合原书使用
ruby on rails最新版 这是本人精心收集的重要软件
ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)
Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...
该资源包包括在Linux安装Ruby on Rails所需的包,以及安装步骤文档
最新Ruby on Rails中文版介绍,欢迎大家共同学习此最新的技术!随着Ruby和Rails版本的不断升级,这些知识也在不断的更新,谢谢的支持!
ruby on rails api方便查阅