Ruby on rails rails应用程序如何接受url中的非字母数字字符?

Ruby on rails rails应用程序如何接受url中的非字母数字字符?,ruby-on-rails,url,encoding,utf-8,webrick,Ruby On Rails,Url,Encoding,Utf 8,Webrick,我试图通过接受一些关键字作为GET请求来构造搜索方法 对于exmaple,“articles/search/computer”可能会搜索包含关键字computer的文章 现在,如果搜索词包含一些其他语言,如韩语单词,rails应用程序将生成以下页面 Internal Server Error "\x80" on CP949 WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18) at hanun.com:3000 服务器的日志如下所示 [2011-05-15 19:5

我试图通过接受一些关键字作为GET请求来构造搜索方法

对于exmaple,“articles/search/computer”可能会搜索包含关键字computer的文章

现在,如果搜索词包含一些其他语言,如韩语单词,rails应用程序将生成以下页面

Internal Server Error


"\x80" on CP949

WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18) at hanun.com:3000
服务器的日志如下所示

[2011-05-15 19:58:05] ERROR Encoding::InvalidByteSequenceError: "\x80" on CP949
我在Windows7中,使用ruby 1.9.2p180和rails 3.0.5。我使用webrick作为开发服务器。 如何解决此问题,以便rails应用程序将接受非字母数字字符作为url字符串

此url不起作用:=한국


但是,以下url不起作用:/한국

通过http发送的URL只能是基本ascii,请参阅或


本质上,您的url变成:

好的,问题不在于rails,而在于操作系统。在windows中,如果url中的任何非字母字符在rails应用程序中作为速记url出现,则该url将不被接受。在linux中,它工作得很好。这只发生在rails上


请注意,此问题仅出现在Webrick&&windows 7&&rails环境中

是的,我用PHP开发了一些应用程序,可以接受这样的非ascii字符串。对于这种情况,如果将非ascii字符作为变量值传入,则可以正常工作。但是,如果缩短的url中包含非ascii字符,则此功能不起作用。