
自身のHP上に検索窓を設置していますが
キーワードの入力域は一つでボタンによってサーチエンジンを変えています。
HPの文字コードはEUC-JPで作成しているのですが
サーチエンジンの中にEUC-JPに対応していないものがあり、入力したキーワードを認識してくれません。
構造としては
htmlで<form action=******.cgi method="GET">として
******.cgiでボタンによってサーチエンジンを振り分けています。
jocde.plでのコンバートも上手くいってないようなので
他に方法があれば教えて下さい。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
> $code = &jcode'convert($data,'sjis');
>
> $dataにはeucでセットされているのですが
> $codeには何もセットされていません。
jcodeの使用方法は、以下のようになっています。
&jcode'convert(*line, $ocode [, $icode [, $option]])
返ってくる値は、
return (undef, undef) unless $icode = $icode || &getcode(*s);
もしくは
return (undef, $icode) if $icode eq 'binary';
もしくは
wantarray ? (*f, $icode) : $icode;
となっているので、本来ならば、$icode($code)が返ってくるのですが、
返ってこないと言うことは、getcodeがうまくいっていないのでしょう。
明示的に、$dataの文字コードがeucと分かっていれば、
my @tmp = &jcode'convert($data,'sjis');
や
my @tmp = &jcode'convert($data,'sjis', 'euc');
としてみて、@tmpの中身を覗いてみてはいかがでしょうか。
No.1
- 回答日時:
***.cgiでどのように変換を行っているのでしょうか。
また、jcode.plまたはJcode.pmがよろしいかと。(jocde.plはtypo?!)
使用しているPerlのバージョンによっても変わると思います。
サーチエンジンには、どのようにキーワードを渡しているのでしょうか。
もう少し内容を書いた方がわかると思います。
この回答への補足
説明不足ですみませんでした。
教えて頂いたようにjcode.plを使ってみましたが
上手く変換できません。
<html側>
<form action="******.cgi" method="GET">
<******.cgi側>
#! /usr/bin/perl
require 'jcode.pl';
$buffer = $ENV{'QUERY_STRING'};
@buffer = split(/&/, $buffer);
foreach (@buffer) {
# @buffer配列を1つづつ参照
($n, $v) = split(/=/, $_);
$in{$n} = $v;
}
$data = $in{'word'};
$code = &jcode'convert($data,'sjis');
$dataにはeucでセットされているのですが
$codeには何もセットされていません。
jcode.plは******.cgiと同じディレクトリに存在しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ESC/Pのテキスト印字の制...
-
UTF-8で5~6バイトになる文字コ...
-
COBOLのCOMP形式について
-
10Mバイトて文字数に すると何...
-
matlabで、平均値を求める方法...
-
DataGridViewの特定列に入力さ...
-
C++ Builderで文字列をバイトに...
-
char str[256]の256の意味は?
-
URLは最高何文字まで可能なので...
-
VB6.0でMSChartをタイマーを使...
-
Javaで日本語1文字のバイト数
-
文字列の最後の一字を削除
-
int型(2バイト)データの分割
-
日付時刻を4バイトに
-
C言語についてです! 同じ年の...
-
Excel VBA メール作成について ...
-
10個の実数に対する降順ソート...
-
TCP/IP通信の送信データについて
-
VBAでShift-JISのURLエンコード
-
この関数はどのプログラミング...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
utf-8でメールを送信すると件名...
-
SQLServerへの出し入れで文字化け
-
検索窓の設置について
-
&jcode'convert(しても文字化け...
-
CGI掲示板の文字化け
-
これはなんて文字コードかわか...
-
フォームメールを受信すると文...
-
全角カタカナチェックについて
-
ESC/Pのテキスト印字の制...
-
応募フォームなどの住所欄で最...
-
postmail ver4.3でメールを送る...
-
perl cgi のエンコード SHIFT...
-
CGI(Perl)の文字化けについて
-
この日本語の文章をリコーディ...
-
CGIフォームから飛ばすメールが...
-
UTF-8で5~6バイトになる文字コ...
-
10Mバイトて文字数に すると何...
-
COBOLのCOMP形式について
-
Excel VBA メール作成について ...
-
Excel 1セル当りの文字数が2...
おすすめ情報