88171.net

2007-12-05

携帯から Shift_JIS な検索文字列が渡ってくると estraier-search.rb の中で文字コード変換に失敗して検索できないことがあるっぽいので,超バータリーなパッチ.モバイル端末からのアクセスなら Shift_JIS 仮定で文字コード変換.でも RegexpError でコケるんだわこれが.

Index: estraier-search.rb
* * * * *================================================================
RCS file: /cvsroot/tdiary/contrib/util/estraier-search/estraier-search.rb,v
retrieving revision 1.4
diff -u -r1.4 estraier-search.rb
        * estraier-search.rb  13 Mar 2007 08:26:22 -0000      1.4
        + estraier-search.rb  5 Dec 2007 15:35:40 -0000
@@ -93,7 +93,11 @@
                        begin
                                t = Time.now
                                cond = create_search_options
*                               cond.set_phrase(NKF::nkf('-Ew -m0',@query))
+                               if @cgi.mobile_agent?
+                                       cond.set_phrase(NKF::nkf('-Sw -m0',@query))
+                               else
+                                       cond.set_phrase(NKF::nkf('-Ew -m0',@query))
+                               end
                                @result = @db.search(cond, 0)
                                @secs = Time.now - t
                        rescue