CGI サポートフォーラム

コメント返信ツリー表示一括表示リスト表示検索

質問をする前に、過去ログに同じ質問がないか検索してください。

←次の話題 前の話題→

■-CGI画面での文字化け - ゆうま (02/25 17:33)
 ├Re:CGI画面での文字化け - ゆうま (02/25 17:34)
 └Re:CGI画面での文字化け - masaya (02/26 01:49)
  └Re[2]:CGI画面での文字化け - ゆうま (02/26 02:37)
   └Re[3]:CGI画面での文字化け - masaya (02/27 00:05)
    └Re[4]:CGI画面での文字化け - masaya (02/28 02:02)
     └ありがとうございました。 - ゆうま (02/28 03:35)

■ CGI画面での文字化け
投稿者:ゆうま さん  ( uid 26066, posts:1, since 2004/02/25 )
投稿日: 2004/02/25 (水) 17:33 No.454 | 編集 | 削除

はじめまして。
複数項目を選択できるリンク集を
探してたどり着き、設置準備をさせていただいています。

コメントでは化けないように気をつければいのですが、
リンク先様のアドレス内に「-」が入っていて、
どうしても文字化けを起こしてしまいます…。
過去記事の検索でも似たような記事があり、
試してはみたのですが直りません…。
私がやり方を理解していない為かもしれませんが、
よろしければ教えてやってくださると嬉しいです。

お忙しいところ本当に申し訳ありませんが、
よろしくお願いいたします。

[ この記事にコメントを返信する ] [ 原文引用 ]

Re:CGI画面での文字化け
投稿者:ゆうま さん  ( uid 26066, posts:2, since 2004/02/25 )
投稿日: 2004/02/25 (水) 17:34 No.455 | 編集 | 削除

記事No.454 へのコメントです。

アドレスを打つのを忘れていました…。
念のため表示いたします。

http://zodiacs.sub.jp/link/exit.cgi

[ この記事にコメントを返信する ] [ 原文引用 ]

Re:CGI画面での文字化け
投稿者:masaya さん  ( uid 21158, posts:33, since 2004/01/06 )
投稿日: 2004/02/26 (木) 01:49 No.457 | 編集 | 削除

記事No.454 へのコメントです。

>コメントでは化けないように気をつければいのですが、
>リンク先様のアドレス内に「-」が入っていて、
>どうしても文字化けを起こしてしまいます…。

え〜と、"-" が "W"になってしまっているということでしょうか?

>過去記事の検索でも似たような記事があり、
>試してはみたのですが直りません…。
>私がやり方を理解していない為かもしれませんが、
>よろしければ教えてやってくださると嬉しいです。

過去にも何度かあったのですが、原因は特定できていなかったような気がします。
私のほうで再現できないので、原因調査できないのですよ。

設置したファイルの、文字コードを調べる CGI を作りましたので、実行してみてもらえますか?

--- check.cgi ここから
#!/usr/bin/perl

BEGIN { use KCatch qw( source ); }
require "./jcode.pl";

undef $/;

@file_list = qw( setup.cgi exit.cgi exit_adm.cgi mylib.pl data/category.cgi data/data.cgi data/subcat.cgi);

#print "Content-type: text/html\n\n";
$html = <<_HTML_;
Content-type: text/html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=euc-jp">
<title>Exit CGI File Check</title>
</head>
<body>
perl version $]<br>
_HTML_

$data=1;

foreach $check_file ( @file_list ) {
open (FILE, "$check_file") || die "$!";
$check_text = <FILE>;
$code = "tete";
$code = &jcode::getcode(\$check_text);

if ( $check_text =~ /\r\n/ ) {
$return_code = "CRLF";
} elsif ( $check_text =~ /\n/ ) {
$return_code = "LF";
} elsif ( $check_text =~ /\r/ ) {
$return_code = "CR";
} else {
$return_code = "unknown";
}

$html .= "$check_file = $code $return_code<br>\n";

}

$html .= "</body>";

print $html;
--- ここまで

1. check.cgi と名前をつけて保存。
2. exit.cgi と同じ場所にアスキーモードで転送。
3. パーミッション 755に設定。
4. ブラウザから呼び出し。

ブラウザに表示された内容を、教えてもらえますか?

[ この記事にコメントを返信する ] [ 原文引用 ]

Re[2]:CGI画面での文字化け
投稿者:ゆうま さん  ( uid 26066, posts:3, since 2004/02/25 )
投稿日: 2004/02/26 (木) 02:37 No.458 | 編集 | 削除

記事No.457 へのコメントです。

お早いお返事感謝いたします…。

>え〜と、"-" が "W"になってしまっているということでしょうか?
説明不足で申し訳ありません…その通りです。


>設置したファイルの、文字コードを調べる CGI を作りましたので、実行してみてもらえますか?
perl version 5.008
setup.cgi = euc LF
exit.cgi = euc LF
exit_adm.cgi = euc LF
mylib.pl = euc LF
data/category.cgi = unknown
data/data.cgi = euc LF
data/subcat.cgi = euc LF
となりました。
data/category.cgiをTeraPadの方で、EUC+LFに保存しなおして、
無変換でアップしても結果は同じでした…。
いかがでしょうか…?

[ この記事にコメントを返信する ] [ 原文引用 ]

Re[3]:CGI画面での文字化け
投稿者:masaya さん  ( uid 21158, posts:34, since 2004/01/06 )
投稿日: 2004/02/27 (金) 00:05 No.459 | 編集 | 削除

記事No.458 へのコメントです。

ん〜。適当に作ったので、文字コードの判別がおかしいのかもしれません。(^^;

こちらのマシンで動作検証してみますので、サーバに転送してある *.cgi, *.pl, data/*.cgi を、バイナリモードでダウンロードしてメールで送っていただけますか?
# 圧縮しちゃってかまいませんが、サーバーにあるのとまったく同じファイルがほしいです。

データ保存時に文字化けを起こしているのか、表示時なのかすら切り分けできていないので・・・。

[ この記事にコメントを返信する ] [ 原文引用 ]

Re[4]:CGI画面での文字化け
投稿者:masaya さん  ( uid 21158, posts:35, since 2004/01/06 )
投稿日: 2004/02/28 (土) 02:02 No.461 | 編集 | 削除

記事No.459 へのコメントです。

ゆうまさん、ファイルを送っていただいてありがとうございます。

結果からいうと、mylib.plが完全に文字化けしていました。

私の作った文字コード判定CGIでは、完全に文字化けしているコードの種類は判別できなかったようです。
役立たずなCGIにお手数をかけてすみませんでした。

送っていただいたファイルをそのまま使うと、ゆうまさんと同じように "-" が "W" になって出力されてしまいます。

配布アーカイブの mylib.pl と入れ替えて登録すると、"-" は "-" のまま登録・表示できました。

これは、登録時に変換されているようで、データは登録しなおす必要があります。

また、送っていただいた data/category.cgi に、カテゴリが登録されていなかったので、適当にカテゴリを追加してテストしました。(ID:1 名称:test)

mylib.pl を転送しなおして、データを再登録してみてもらえますか?

[ この記事にコメントを返信する ] [ 原文引用 ]

ありがとうございました。
投稿者:ゆうま さん  ( uid 26066, posts:4, since 2004/02/25 )
投稿日: 2004/02/28 (土) 03:35 No.463 | 編集 | 削除

記事No.461 へのコメントです。

masaya様、お手数をおかけしてしまって本当に申し訳ありません…。
原因の解明、本当にありがとうございます。
先ほど試してみたところ、文字化けが解消されました。
どこか簡単なところでミスをしていたのかもしれませんね…。
簡単な間違いで時間を使わせてしまってすみませんでした…;

重ね重ねお礼を申し上げます。ありがとうございました!

[ この記事にコメントを返信する ] [ 原文引用 ]

←次の話題 前の話題→

- TOP -

管理者:webmaster
NICOLE's - WWWForum 3.7c  Modified by masaya
Catch: Wed May 8 09:36:51 2024
[jcode.pl:679:warn] defined(%hash) is deprecated at lib/jcode.pl line 679.
[jcode.pl:679:warn] (Maybe you should just omit the defined()?)
[jcode.pl:688:warn] defined(%hash) is deprecated at lib/jcode.pl line 688.
[jcode.pl:688:warn] (Maybe you should just omit the defined()?)

/wwwforum/wwwforum.cgi?id=11&az=thread&number=454 with Perl 5.016003 for freebsd