作者philip80220 (花)
看板Ruby
标题[问题] 载入txt档 中文字会有乱码
时间Sun Jul 12 18:23:29 2015
各位前辈们好
想请问说
# encoding: UTF-8
abc = Array.new()
abc[0] = "电脑"
File.open("database.txt", "a") {|file| file.write(abc[0])}
txt = File.open("database.txt")
puts txt.read()
当我执行这段程式码时,结果会跑出乱码
有甚麽方法可以解决吗?
谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.173.128.189
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ruby/M.1436696612.A.A34.html
1F:推 AIGecko: puts txt.read.encode('utf-8') 07/12 20:11
它有错误讯息: 'encode': "\xE8" followed by "\x85" on CP950 可以请问这是甚麽意
思吗? google过了还是不懂 不好意思新手问题多多
※ 编辑: philip80220 (59.127.241.162), 07/12/2015 21:36:11
2F:→ AIGecko: 你要先确认档案database.txt的编码 07/12 22:48
3F:→ AIGecko: 若要指定编码可以用 "a:utf-8" 这种用法来指定 07/12 22:49
4F:→ AIGecko: Windows应该是用BIG5 所以开档设成"a:big5"试试看 07/12 22:51
5F:推 mars90226: 应该是你把UTF-8编码字串append到了Big5编码档案去了 07/12 22:52
6F:→ mars90226: 你应该file.write(abc[0].encode('big5'),或是把档案 07/12 22:52
7F:→ mars90226: 整个改成UTF-8编码 07/12 22:52