2

ファイルのエンコーディングを設定できず、常にエラーが発生します。私はすべての方法を試しました:

C:\ruby\sbox>ruby -W3 -Eex=utf-8 gserver.rb text.txt
ruby: unknown encoding name - ex=utf-8 (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eex=utf8 gserver.rb text.txt
ruby: unknown encoding name - ex=utf8 (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eex:utf8 gserver.rb text.txt
ruby: unknown encoding name - ex (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eex=>utf8 gserver.rb text.txt
ruby: unknown encoding name - ex= (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eex=>utf-8 gserver.rb text.txt
ruby: unknown encoding name - ex= (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eexutf-8 gserver.rb text.txt
ruby: unknown encoding name - exutf-8 (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eex"utf-8" gserver.rb text.txt
ruby: unknown encoding name - exutf-8 (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eex="utf-8" gserver.rb text.txt
ruby: unknown encoding name - ex=utf-8 (RuntimeError)

このオプションを設定するには?

このリファレンス-Eexにはオプションがありません。

更新:

私は方法を学びました。それを印刷する必要はありませんex。ただ-Eutf-8:cp866

C:\ruby\sbox>ruby -W3 -Eutf-8:cp866 gserver.rb text.txt
4

2 に答える 2

3

オプションもあり、-Kオプションよりも私にとってはうまくいくようです-E。内部(スクリプト)および外部エンコーディングを設定します。ruby(1) の man ページには次のように記載されています。

  -K kcode
          Specifies KANJI (Japanese) encoding. The default value for
          script encodings ("__ENCODING__") and external encodings
          ("Encoding.default_external") will be the specified one.  kcode
          can be one of

   e      EUC-JP


   s      Windows-31J (CP932)


   u      UTF-8


   n      ASCII-8BIT (BINARY)

私のウィキを実行するために、私は以下を使用します:

$ ruby -Ku wiki.rb

Ruby Wiki のソース ファイルはすべて ASCII ですが、Web から自分の Wiki にコピー アンド ペーストすると、一部の文字が UTF-8 になることがあります。-Kこのオプションを設定しないと、wiki の一部のページで" ArgumentError - US-ASCII の無効なバイト シーケンス" が発生します。

しかし

$ ruby -Eutf-8 wiki.rb

も機能します。

于 2014-09-20T23:49:03.167 に答える
2

ファイルの先頭に「マジック コメント」を追加してみてください。

# encoding: UTF-8
于 2013-02-27T20:08:36.517 に答える