Ruby 中文編碼
前面章節中我們已經學會瞭如何用 Ruby 輸出 "Hello, World!",英文沒有問題,但是如果你輸出中文字符"你好,世界"就有可能會碰到中文編碼問題。
Ruby 檔案中如果未指定編碼,在執行過程會出現報錯:
#!/usr/bin/ruby -w puts "你好,世界!";
以上程式執行輸出結果為:
invalid multibyte char (US-ASCII)
以上出錯訊息顯示了Ruby 使用用ASCII 編碼來讀取原始碼,中文會出現亂碼,解決方法為只要在文件開頭加入# -*- coding: UTF-8 -*-(EMAC寫法) 或#coding=utf- 8 就行了。
輸出結果為:
你好,世界!
所以如果大家再學習過程中,原始碼檔案中,若包含中文編碼,則需要注意兩點:
1. 必須在首行加上# -*- coding: UTF-8 -*-,告訴解釋器使用utf-8來解析原始碼。
2. 必須設定編輯器儲存檔案的編碼為utf-8。