แปลงรหัส TIS-620 เป็น UTF-8 ใน ruby

โจทย์

1. อ่าน text file ที่ถูก encode มาด้วย tis-620 บนระบบ linux

2. ข้อความที่อ่านขึ้นมานั้นต้องแสดงผลเป็นภาษาไทยได้

ตัวอย่างไฟล์ที่ผมจะอ่าน test.txt

ข้อความในไฟล์

"▒▒▒º▒ŷ▒▒▒ٿ▒ͪ▒▒▒㹡▒˹▒26▒▒.▒.58 ▒ء25▒.▒Ѻ1▒▒ṹ▒▒▒▒▒▒▒▒▒▒͡▒Ѻ⺹▒▒▒ÿ▒▒200▒ҷ▒▒▒▒▒▒絿▒▒200MB▒ҹ7▒ѹ ▒▒▒▒▒▒▒▒▒▒▒ѺSMS▒▒▒Է▒▒"

ตัวอย่าง code ที่ใช้

[ruby]

f = File.open( "test.txt", "r:tis-620")
data = ""
f.each_line do |line|
data += line
end
puts data.encode("utf-8")

[/ruby]

ผลที่ได้

จ่ายบิลทรูมูฟเอชภายในกำหนด26เม.ย.58 ทุก25บ.รับ1คะแนนสะสมและเลือกรับโบนัสโทรฟรี200นาทีหรือเน็ตฟรี200MBนาน7วัน ชำระแล้วรอรับSMSแจ้งสิทธิ
ball Written by:

Teerapat Khunpech Live, Tech, Beers, Bike, Cafe Racer, Docker, Devops, Eco-System