[問題] 載入txt檔 中文字會有亂碼

作者: philip80220 (花)   2015-07-12 18:23:29
各位前輩們好
想請問說
# 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()
當我執行這段程式碼時,結果會跑出亂碼
有甚麼方法可以解決嗎?
謝謝大家
作者: AIGecko (師大貓耳控)   2015-07-12 20:11:00
puts txt.read.encode('utf-8')你要先確認檔案database.txt的編碼若要指定編碼可以用 "a:utf-8" 這種用法來指定Windows應該是用BIG5 所以開檔設成"a:big5"試試看
作者: mars90226 (火星人)   2015-07-12 22:52:00
應該是你把UTF-8編碼字串append到了Big5編碼檔案去了你應該file.write(abc[0].encode('big5'),或是把檔案整個改成UTF-8編碼

Links booklink

Contact Us: admin [ a t ] ucptt.com