Ruby 如何解决转码 (UTF-8 to AscII) 问题?

syutran · 2018年03月12日 · 最后由 nouse 回复于 2018年03月12日 · 1918 次阅读

ROR controllen 里,需要把一些信息存储为小文本文件,我是这样做的:

f=File.new("test1.txt")
f.puts("标题信息:#{@task.title}")
f.close

新创建的文件编码是 UTF8 类型的文本,我需要把它转为 windows 下的文本(ASCII 或 GB2312 等)才能使用。首先想到的是在操作系统(ubuntu)里使用 iconv 转换,但转换后汉字转没了。于是在网上查了一些 ruby 的 puts 的参数,好像也没有涉及转码的资料,只好来询各位了~

File.write 'test1.txt', "标题信息:#{@task.title}", encoding: 'gbk'

luikore 回复

谢谢你,可以了。 您的这行代码提醒了我使用 iconv 也是可以的,需要到 windows 下看新生成的文件内容,而不能呆在原系统里看。我真 TM 傻~

至少转成 gb18030 吧,就不怕缺字吗?

4 楼 已删除
需要 登录 后方可回复, 如果你还没有账号请 注册新账号