
PerlCGIのデコードでつまづいています。jcode.plで$valueの値を「%E3%81%BF%E3%81%AE%E3%82%8A%E5%8F%B0」から「みのり台」の日本語に変換しようとしたのですが「%E3%81%BF%E3%81%AE%E3%82%8A%E5%8F%B0」が返されてうまくいきません。申し訳ありませんが知恵を貸して頂けないでしょうか、よろしくお願い致します。
#!/usr/bin/perl
require './jcode.pl';
#デコードするためのプログラム
# プラウザからのデータ取込み
#if ($ENV{'REQUEST_METHOD'} eq "POST") {
# read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
#}
#else {
$buffer = $ENV{'QUERY_STRING'};
#}
# プラウザからのデータ変換
#$i = 0; #※2
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
#1行毎に$name,$valueを取り出す
($name, $value) = split(/=/, $pair);
# 変換演算子 tr + を スペースに置き換え
# $value =~ tr/+/ /;
# 変換演算子 s/// 単語の構成文字にマッチ
# $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
# " を " に変換
# $value =~ s/"/"/g;
#\n を "" に変換
# $value =~ s/\n//g;
print qq(
<tr><td>やった</td></tr>
) , "\n";
# jcodeでデコードがうまく出来ませんでした。
# 日本語に変換(デコード処理部分)
&jcode'convert(*value,'sjis');
&jcode'convert(*$name,'sjis');
# $FORM{$name} = $value; #※1
# @num[$i]=$value; #※2
# $i=$i++; #※2
# $str = decode('shiftjis', $value);
# $value = encode('shiftjis', $str);
}
@varuee = split(/&*q=/,$ENV{'QUERY_STRING'});
print qq(
<HTML>
<HEAD>
<TITLE>画像の検索結果</TITLE>
</HEAD>
<BODY bgcolor="#FFFFFF">
<H2 align="center">画像データベースの検索結果</H2>
<!--画像の検索結果を2~3件ためしに表示-->
<BR>
<hr>
<CENTER>
<table>
);
print qq(
<tr><td>$value</td></tr>
) , "\n";
exit;
No.1ベストアンサー
- 回答日時:
if($ENV{'REQUEST_METHOD'} eq "POST"){
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
}
else{
$buffer=$ENV{'QUERY_STRING'};
}
$i=0;
@buffer=split(/&/,$buffer);
foreach(@buffer){
($name,$value)=split(/=/,$_);
$value=~tr/+/ /;
$value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
&jcode::convert(*value,"sjis","","z");
$value=~s/</</g;
$value=~s/>/>/g;
$value=~s/"/"/g;
$value=~s/(\n|\r)//g;
}
あんまり変わってませんね^^;;;
自分の所は、これで出来てます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
INDIRECT 横に再度抽出したい
-
Strawberry Perl for Windows ...
-
perlのプログラミング 部分入れ...
-
Perlでファイルの末尾から指定...
-
perl の open について教えてく...
-
Perl言語について。
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルで提出とは?
-
Perlのエラーについてご教授く...
-
perlをバージョンアップしたら...
-
Perlで時間の計算
-
Wallpaper Engineでおすすめの...
-
Perl言語について。
-
perlで2次元配列をサブルーチ...
-
Strawberry Perl for Windows ...
-
#!/usr/bin/perlで書きだしたCG...
-
perl の open について教えてく...
-
INDIRECT 横に再度抽出したい
-
アルファベットに付いて質問し...
-
openした後、closeしないでプロ...
-
画像が表示でnull; this.src
-
VBA変数をFunction.VLookupの戻...
-
perlのflock関数でロックをかけ...
-
Perl の外部モジュールの利用方法
-
TeraPadエディターの操作方法に...
-
bashスクリプト
-
perlの構文でカンマの意味が分...
おすすめ情報