4

GETリクエストとしていくつかのキーワードを受け入れて検索メソッドを構築しようとしています。

たとえば、「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

私はウィンドウ7にいて、ルビー1.9.2p180、レール3.0.5を使用しています。開発サーバーとしてwebrickを使用しています。Railsアプリが英数字以外の文字をURL文字列として受け入れるようにするには、どうすればこの問題を解決できますか?

このURLは機能します:http://127.0.0.1/articles?search =한국

ただし、次のURLは機能しません: http: //127.0.0.1/articles/search/ 한국

4

2 に答える 2

2

問題はRailsからではなく、OSからでした。Windowsでは、アルファベット以外の文字は、Railsアプリで省略形のURLとして入力された場合、URLで受け入れられません。Linuxでは、正常に動作します。これはレールにのみ発生します。

この問題は、Webrick && windows 7&&rails環境でのみ発生することに注意してください。

于 2011-06-08T20:41:32.917 に答える
0

httpを介して送信されるURLは、基本的なASCIIのみです。http://www.w3schools.com/tags/ref_urlencode.aspまたはhttp://www.w3.org/Protocols/rfc2616/rfc2616-sec3.htmlを参照しください

基本的に、URLは次のようになります:http: //127.0.0.1/articles/search/%26%2354620%3B%26%2344397%3B

于 2011-05-16T01:55:22.267 に答える