6

以下のテキストの壁の要約: Ruby でアクセント付きの文字を表示するにはどうすればよいですか (プットなどで機能するように)。


こんにちは!スペイン語でいくつかの文を表示するクラス用のプログラムを書いています。Ruby でアクセント付き文字を使用しようとすると、正しく表示されません (NetBeans 出力ウィンドウ (Java ではアクセント付き文字が表示されます) またはコマンド プロンプト)。

最初は、配列内のアクセント記号付きの文字が Ruby インタラプタをオフにしているため (だと思いますか?)、一部のコードは実行さえしませんでした。Ruby が閉じ括弧を予期していたようなエラーが発生しました。

しかし、私はいくつかの調査を行い、Ruby ファイルの先頭に次のコード行を追加する解決策を見つけました。

# coding: utf-8

NetBeans では、この行に関係なくプログラムが実行されました。しかし、コマンド プロンプトでプログラムを正常に実行するには、この行を追加する必要がありました。(どうしてか分かりません。)

ただし、実際に文字を画面に表示する際にはまだ問題があります。「será」などの単語は、NetBeans 出力ウィンドウに「seré」と表示されます。コマンド プロンプトでは、小さなパイプ文字 (入力方法がわからない) が描画されます。

さらに調査を行ったところ、次のことを聞きました。

$KCODE = 'UTF-8'

しかし、私はこれで運がありません。


Ruby 1.8 と 1.9 を使用しています (異なるマシン間を行き来しています)。

ありがとう、デレク

4

1 に答える 1

3

Windows 7のコマンドプロンプトには、デフォルトでラスターフォントがあります。そしてそれはユニコードをサポートしていません。最初に、cmdフォントをLucida Consoleまたはに変更する必要がありますConsolas。次に、コマンドプロンプトのコードページを。で変更しますchcp 65001。手動で行うか、次の行をrubyプログラムに追加できます。

# encoding: utf-8
`chcp 65001` #change cmd encoding to unicode
puts 'será test '
于 2011-04-16T09:05:34.630 に答える