Ruby 中文編碼
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。