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。