0

私は小さくてシンプルなhttpサーバーを開いて、LAN上で(またはパブリックIP上でオンラインで)いくつかのファイルを共有しようとしていました。少し調査したところ、 python -m SimpleHTTPServer が仕事をしていることがわかりましたが、同時要求に関する恐ろしい問題があります。ユーザーから、ファイル (通常は映画などの大きなファイル) をダウンロードすると、ブラウジングが非常に遅くなると言われています。

Railsプログラマーである私は、これを見つけました:

s=WEBrick::HTTPServer.new({DocumentRoot: ".", Port: 8000 })
trap("INT"){s.shutdown}
s.start

これは、シンプルであるという点で完璧であり、python のような問題はありませんでした。しかし、私を困惑させていることが1つあります。Ubuntu のファイル名に ASCII エンコードされていない文字が含まれている場合、エラーがスローされます: US-ASCII の無効なバイト シーケンス。

webrick gem を検索したところ、US-ASCII エンコーディングを想定していることがわかりました。なぜUTF-8ではないのだろうか。私は次のものを試しました:1.私のルビーファイルの始めに:

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
  1. Ubuntu環境で:

    エクスポート LANGUAGE=en_US.UTF-8 エクスポート LANG=en_US.UTF-8 エクスポート LC_ALL=en_US.UTF-8

  2. Iconv 変換

そして、神は私がそれに取り組んできた4時間で他に何があるかを知っています。

サーバーにutf-8文字エンコーディングを使用するようにwebrickに指示する方法が本当にわかりません。

よろしく、ハッサン

4

1 に答える 1

1

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

# encoding: utf-8
于 2013-03-03T23:20:01.827 に答える