自身の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で質問しましょう!
似たような質問が見つかりました
- HTML・CSS 検索窓とcssハックについて 3 2022/04/22 12:21
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- ライフスタイル・ヘルスケア URLを開くアプリが見つかりません 2 2022/09/16 12:09
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Amazon アマゾンで出版中の本の販売部数を伸ばすためには、どうすれば良いですか? 4 2022/08/18 23:30
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
utf-8でメールを送信すると件名...
-
postmail ver4.3でメールを送る...
-
文字化けとパスワード変更
-
SQLServerへの出し入れで文字化け
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
IEレジストリのSavedLegacySe...
-
現在日時から、任意の時日時を...
-
なんでブラウザでPHPを動かすた...
-
10Mバイトて文字数に すると何...
-
サブドメインでのクッキー認証
-
char str[256]の256の意味は?
-
クッキーのデータ取得
-
ListView重複データ削除
-
バイナリデータからの値の取得...
-
Excel VBA メール作成について ...
-
C++ Builderで文字列をバイトに...
-
データの値の近いものをグルー...
-
[VBScript][wsh]byte単位でのデ...
-
Windows 2003 サーバー のファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
&jcode'convert(しても文字化け...
-
応募フォームなどの住所欄で最...
-
utf-8でメールを送信すると件名...
-
ESC/Pのテキスト印字の制...
-
全角カタカナチェックについて
-
CGIメールフォームのメールが文...
-
フォームメールを受信すると文...
-
SQLServerへの出し入れで文字化け
-
これはなんて文字コードかわか...
-
Window open パラメタについて
-
CGI掲示板の文字化け
-
文字コードsjisをUTF8に書き換...
-
CGIフォームから飛ばすメールが...
-
HttpURLConnection転送で漢字表示
-
PerlのCGIで全角スペースを入れて
-
.cgi でタグが勝手に変換されま...
-
CGI(Perl)の文字化けについて
-
検索窓の設置について
-
JavaScriptからCGI
-
perl cgi のエンコード SHIFT...
おすすめ情報