さくらインターネットで開発中WEB経由でCGIが正常に動かない場合の検証
やっとMecab.pmが動いたと思ったのも束の間・・・
ターミナル上での実行は正常でも
CGIとしてブラウザからアクセスすると文字化けしまくる、という状況でした。
こういうときはひとつづつ潰していくのが良いと思います。
mecabの実行結果はどうなってる?
コマンドラインとブラウザ経由と吐き出す出力を比べるにはテキストファイルに出してみると良いです。
#!/usr/bin/perl use strict; use warnings; use MeCab; my $m = new MeCab::Tagger (""); my $n = $m->parseToNode ("将来の話をしようじゃないか."); my $debug; while ($n = $n->{next}) { $debug .= "$n->{surface} $n->{feature} $n->{cost}\n"; } # debug用の出力 open OUT,">/home/****/www/kyokigo/debug.txt"; print OUT $debug; close OUT; # HTMLの表示 print "Content-type: text/html\n\n"; print "<html lang=\"ja\">\n"; print "<head>\n"; print " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n"; print " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1. 0, maximum-scale=1.0, user-scalable=0\">\n"; print " <meta http-equiv=\"Pragma\" content=\"no-cache\" />\n"; print " <meta http-equiv=\"cache-control\" content=\"no-cache\" />\n"; print " <meta http-equiv=\"expires\" content=\"0\" />\n"; print " <link rel=\"apple-touch-icon-precomposed\" href=\"\" />\n"; print " <title>TEST</title>\n"; print "</head>\n"; print "<body>\n"; print "Ready.\n"; print "</body>\n"; print "</html>\n";
CGIとしても動かすために、後半にはシンプルなHTMLを書いています
(Ready.と表示するだけ)
出力結果を$debugに代入して、
ファイルをフルパスで指定して書き込んでいます。
ターミナルで実行した場合はこのような結果になりました。
将来 名詞,副詞可能,*,*,*,*,将来,ショウライ,ショーライ,, 3644 の 助詞,連体化,*,*,*,*,の,ノ,ノ,, 4286 話 名詞,サ変接続,*,*,*,*,話,ハナシ,ハナシ,, 7266 を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ,, 6790 しよ 動詞,自立,*,*,サ変・スル,未然ウ接続,する,シヨ,シヨ,, 9169 う 助動詞,*,*,*,不変化型,基本形,う,ウ,ウ,, 7777 じゃ 助詞,副助詞,*,*,*,*,じゃ,ジャ,ジャ,, 10731 ない 助動詞,*,*,*,特殊・ナイ,基本形,ない,ナイ,ナイ,, 11857 か 助詞,副助詞/並立助詞/終助詞,*,*,*,*,か,カ,カ,, 11413 . 記号,句点,*,*,*,*,.,.,.,, 8953 BOS/EOS,*,*,*,*,*,*,*,* 8351
しかし、CGIとして実行した場合はこのような出力となりました。
絨 ?詞,一般,*,*,*,*,* 11143 来 禝Ⅴ罨一般,*,*,*,*,* 14562 ・ ?詞,一般,*,*,*,*,* 25298 ・ ?詞,サ変接続,*,*,*,*,* 42326 をしようじゃ 禝Ⅴ罨一般,*,*,*,*,* 45723 ・ ?詞,固有名詞,組織,*,*,*,* 57685 か. 記号,一般,*,*,*,*,* 61031 BOS/EOS,*,*,*,*,*,*,*,* 59294
結果が全然違います!
これは実行方法によって結果が変化してしまうことを示しています。
次回はもう少し確認してみましょう。
ディスカッション
コメント一覧
まだ、コメントがありません