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

syutran · March 12, 2018 · Last by nouse replied at March 12, 2018 · 1898 hits

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'

Reply to luikore

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

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

4 Floor has deleted
You need to Sign in before reply, if you don't have an account, please Sign up first.