[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[connect24h:00787] webalizer のサーチストリング文字化け



だいです。

ちょっと前に話題になってたWWWログ解析ツールのwebalizerで、

On Sat, 21 Oct 2000 07:49:49 +0900
Dai Ikeda <dai@xxxxxxxxxx> wrote:
|結構大量のログでも、軽々処理してくれます。
|うちくらいの弱小サイトだと、毎時間処理しても全然平気。
|検索サイトで、どんなキーワードで検索されたかも出してくれるんですが
|日本語が少し変になるのが気になるところかな。

このサーチストリングの文字化けが、どーしても気になるので調べて見ました。

http://www.on.ics.keio.ac.jp/~yasu/jp_webalize.html
こんなページもあるのですが、patchを見てみると、メッセージを
日本語化してるだけでサーチストリングの文字化けには対応してなさそうです。

そこで、ちょいとquick hackしてみました。
Patchは以下のとおり。
# 1行直しただけなんで、patchするまでもないんですが。:-)

----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<-----
*** webalizer.c.org	Fri Oct  6 16:59:08 2000
--- webalizer.c	Sat Nov  4 09:00:05 2000
***************
*** 1813,1819 ****
           if (*cp1=='+') *cp1=' ';                      /* change + to space
*/
           if (sp_flg && *cp1==' ') { cp1++; continue; } /* compress spaces  
*/
           if (*cp1==' ') sp_flg=1; else sp_flg=0;       /* (flag spaces here)
*/
!          *cp2++=tolower(*cp1);                         /* normal character 
*/
           cp1++;
        }
     }
--- 1813,1819 ----
           if (*cp1=='+') *cp1=' ';                      /* change + to space
*/
           if (sp_flg && *cp1==' ') { cp1++; continue; } /* compress spaces  
*/
           if (*cp1==' ') sp_flg=1; else sp_flg=0;       /* (flag spaces here)
*/
!          *cp2++=*cp1;                                  /* normal character 
*/
           cp1++;
        }
     }
----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<-----

アルファベットの小文字変換が、日本語に対してもおこなわれていたため
化けていたようです。
この修正で、サーチストリングの日本語の文字化けがなくなりました。
http://www.d-line.net/wwwstats/usage_200011.html
副作用としては、アルファベットの大文字/小文字の区別をつけるように
なってしまいます。

ご参考まで。

-- 
 (((‖http://www.d-line.net/
  ∂∂‖dai@xxxxxxxxxx
♪〜ε ‖池田 大(いけだ だい)
『気楽にいきましょ、口笛ふいて…』