Ruby 中文編碼

前面章節中我們已經學會了如何用 Ruby 輸出 "Hello, World!",英文沒有問題,但是如果你輸出中文字元"你好,世界"就有可能會碰到中文編碼問題。

Ruby 檔中如果未指定編碼,在執行過程會出現報錯:

#!/usr/bin/ruby -w

puts "你好,世界!";

以上程式執行輸出結果為:

invalid multibyte char (US-ASCII)

以上出錯資訊顯示了 Ruby 使用用 ASCII 編碼來讀源碼,中文會出現亂碼,解決方法為只要在檔開頭加入 # -*- coding: UTF-8 -*-(EMAC寫法) 或者 #coding=utf-8 就行了。

實例

#!/usr/bin/ruby -w # -*- coding: UTF-8 -*- puts "你好,世界!";

輸出結果為:

你好,世界!

所以如果大家再學習過程中,源代碼檔中,若包含中文編碼,則需要注意兩點:

  • 1. 必須在首行添加 # -*- coding: UTF-8 -*-,告訴解釋器使用utf-8來解析源碼。
  • 2. 必須設置編輯器保存檔的編碼為utf-8。