私は小さくてシンプルな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
Ubuntu環境で:
エクスポート LANGUAGE=en_US.UTF-8 エクスポート LANG=en_US.UTF-8 エクスポート LC_ALL=en_US.UTF-8
Iconv 変換
そして、神は私がそれに取り組んできた4時間で他に何があるかを知っています。
サーバーにutf-8文字エンコーディングを使用するようにwebrickに指示する方法が本当にわかりません。
よろしく、ハッサン