Ruby rails webrick httpserver编码问题

Ruby rails webrick httpserver编码问题,ruby,encoding,webrick,ruby-1.9.2,Ruby,Encoding,Webrick,Ruby 1.9.2,我试图打开一个小而简单的http服务器,在LAN(或公共IP)上共享一些文件。经过一番研究,我发现python-MSimpleHttpServer可以完成这项工作,但它有可怕的并发请求问题。用户告诉我,当他们下载一个文件(通常是大文件,比如电影)时,浏览速度会非常慢 作为一名rails程序员,我发现: s=WEBrick::HTTPServer.new({DocumentRoot: ".", Port: 8000 }) trap("INT"){s.shutdown} s.start 这对于简单

我试图打开一个小而简单的http服务器,在LAN(或公共IP)上共享一些文件。经过一番研究,我发现python-MSimpleHttpServer可以完成这项工作,但它有可怕的并发请求问题。用户告诉我,当他们下载一个文件(通常是大文件,比如电影)时,浏览速度会非常慢

作为一名rails程序员,我发现:

s=WEBrick::HTTPServer.new({DocumentRoot: ".", Port: 8000 })
trap("INT"){s.shutdown}
s.start
这对于简单来说是完美的,并且没有像python那样的问题。然而有一件事让我困惑不解。当Ubuntu上的文件名包含非ascii编码的字符时,会抛出错误:US-ascii中的字节序列无效

我对webrick gem的搜索显示它采用US-ASCII编码。我想知道为什么不是UTF-8。我试过的东西包括: 1.在我的ruby文件的开头:

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
  • 在ubuntu环境中:

    导出语言=en_US.UTF-8 出口LANG=en_US.UTF-8 出口信用证全部=en_US.UTF-8

  • Iconv转换

  • 天知道我在这四个小时里还有什么

    我真的不明白我怎么能告诉webrick在服务器上使用utf-8字符编码

    问候,,
    哈桑

    尝试在文件顶部添加“魔术”注释:

    # encoding: utf-8
    

    已经有了。在列出我尝试过的事情时错过了。事实上,这是我做的第一件事。我不清楚你是否编写了自己的新Rails应用程序,或者你是否只是使用WEBrick来提供文件。您应该澄清的第一件事是,磁盘上的文件名本机使用哪种编码。在我看来,来源不是UTF-8,而是一些不同的东西。因此,您必须告诉您的WEBrick,源字符串编码是X,然后您必须将其编码为Web服务器页面的utf-8。