最近學習Ruby,遇到第一個問題就是輸出中文的時候控制檯報錯.
name = ["曉林","大戶","小虎"]
p name[0]
p name[1]
p name[2]
以上代碼運行之後報錯:
flymouse@flymouse-pc:~/rubys$ ruby arrays.rb
arrays.rb:1: invalid multibyte char (US-ASCII)
arrays.rb:1: invalid multibyte char (US-ASCII)
解決方法目前我知道的有兩種:
方法一:
執行ruby程序時加上-Ks、-Ke、-Ku(大寫字母K)之類的環境參數,這些參數用來指定文字編碼。針對中文字符串,可以指定-Ku參數(UTF-8)來取得正常的顯示效果。
flymouse@flymouse-pc:~/rubys$ ruby -Ku arrays.rb
"曉林"
"大戶"
"小虎"
可以在ruby文件最頂部添加指定編碼格式的代碼:
#encoding:utf-8 或 #encoding:gbk
#encoding:utf-8
name = ["曉林","大戶","小虎"]
p name[0]
p name[1]
p name[2]
flymouse@flymouse-pc:~/rubys$ ruby arrays.rb
"曉林"
"大戶"
"小虎"