[問題] UTF-8 string using puts and p

作者: WindChris (風)   2014-11-20 23:46:39
hi, 各位先進
小弟剛踏入門ruby
正在研究ruby + mongodb
問題是這樣的:
我的工作環境是在遠端linux工作站上
分別在 windows上用pietty
及mac上用terminal 登入
都是在相同path 下執行相同的rb # ruby test.rb
test.rb做的事情是去mongodb裡抓含有"中文"的doc並 p 出來
而windows和mac的terminal上看到不同的結果
windows的pietty上完美的顯示中文 "大"
而 mac 上顯示 "\u5927"
我改用 puts 則兩邊都是顯示中文 "大"
因為都是連到工作站上
所以我想是terminal tool的問題
pietty自己很聰明地偷偷轉成我看得懂的東西??
我想請問 puts 和 p 在對於同一個 utf-8 encoded的字
到底分別送了什麼東西到terminal來??
或者都是一樣的, 其中有什麼誤會??
謝謝!!
作者: AIGecko (師大貓耳控)   2014-11-21 01:45:00
ubuntu上測試輸出"大" p:"大" puts:大

Links booklink

Contact Us: admin [ a t ] ucptt.com