2012-11-07 163 views
2

IRB外部編碼具有-E標誌設置外部編碼,但它不能在撬工作:我怎麼設置撬

/usr/local/lib/ruby/gems/1.9 0.1 /寶石/撬開式0.9.10/LIB /撬/ repl_file_loader.rb:16:在 `初始化':沒有這樣的文件:/卷/ FB1商店/ FB1 10.5 用戶/用戶/拉希德/ Ruby_Dev/MDBlib/src/MDB/-Eutf-8(RuntimeError)

有什麼建議嗎?

+0

看看這個線程:HTTP://計算器。 COM /問題/ 16211133 /獲取-撬開式顯示的字符樣aoussaouss UTF-8編碼 - 可能窗口/ 17456323#17456323] [1]。我認爲這是同樣的問題。 [1]:http://stackoverflow.com/questions/16211133/get-pry-to-display-characters-like-aoussaouss-utf-8-encoding-possibly-window/17456323#17456323 –

回答

0

這是一個黑客攻擊的一位,但我認爲這應該爲你工作:

$ pry -e "#encoding: utf-8" 
+0

這並沒有爲我工作: $撬-e 「#coding:US-ASCII」 =>零 [2]撬(主)> Encoding.default_external =>#<編碼:UTF-8> $ irb -Eus-ascii irb(main):001:0> Encoding.default_external =>#<編碼:US-ASCII> – sanemat

0

放至~/.pryrc

$stdout.set_encoding 'US-ASCII' 

指定默認的外部編碼

AND~/.pryrc添加pry命令set_encoding dinamically改變external_encoding。

Pry::Commands.create_command "set_encoding" do 
    description "Set $stdout.external_encoding to ARGS[0] || 'US-ASCII'" 

    def process 
    output.set_encoding args[0] || 'UTF-8' 
    end 
end 

使用它作爲

[1] pry(main)> set_encoding UTF-8

,或者將其設置回US-ASCII

[1] pry(main)> set_encoding

相關問題