rails app如何接受url中的非字母数字字符?

时间:2011-05-16 01:02:29

标签: ruby-on-rails url encoding utf-8 webrick

我正在尝试通过接受一些关键字作为GET请求来构建搜索方法。

例如,'articles / search / 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

我在窗口7中,使用ruby 1.9.2p180,rails 3.0.5。我使用webrick作为开发服务器。 如何解决此问题,以便rails应用程序将接受非字母数字字符作为url string ??

此网址确实有效:http://127.0.0.1/articles?search =한국

但是,以下网址无效:http://127.0.0.1/articles/search /한국

2 个答案:

答案 0 :(得分:2)

好的,问题不是来自rails,而是来自OS。在Windows中,如果它在rails应用程序中作为速记URL进入,则不会在url中接受任何非字母字符。在linux中,它工作正常。这只发生在rails上。

请注意,这个问题只发生在Webrick&& Windows 7&&铁路环境。

答案 1 :(得分:0)