KENT-WEB サポートコーナー 過去ログ [ 0036 ]


記事No: 9124
投稿日: 2011/09/05(Mon) 17:09:18
タイトルpostmail v5.72のUTFについて
ID情報: reiko328
投稿者: コンテンツ制作部員
URLhttp://www3.ginet.or.jp/sjsiki/test/utf.html

最新のポストメールがUTF8に対応したと、会社の子に聞いたので、早速テストしてみよう♪と思い、メールアドレス、タイトル等主なものを変更して、サーバーにUPしました。
しかし、utf.htmlから入力して、確認画面を見ると、文字化けが起こってしまいます。
そのまま、メール送信してみたのですが、そちらも文字化けがそのまま反映されています。
どのファイルをUTFに変更しないとダメとかReadmeでもあればと思ったのですが、UTFに関する記述も見当たらなくて途方に暮れています。
どなたかUTFでの動かし方を教えてください。お願いいたします。


記事No: 9125
投稿日: 2011/09/05(Mon) 17:19:18
タイトルRe: postmail v5.72のUTFについて
ID情報: kent
投稿者: KENT

> 最新のポストメールがUTF8に対応したと、会社の子に聞いたので、早速テストしてみよう♪と思い、メールアドレス、タイトル等主なものを変更して、サーバーにUPしました。
> しかし、utf.htmlから入力して、確認画面を見ると、文字化けが起こってしまいます。
> そのまま、メール送信してみたのですが、そちらも文字化けがそのまま反映されています。
> どのファイルをUTFに変更しないとダメとかReadmeでもあればと思ったのですが、UTFに関する記述も見当たらなくて途方に暮れています。
> どなたかUTFでの動かし方を教えてください。お願いいたします。

文字化けする文字を具体的に書いてください。
以下のQAの内容のような気がしますが・・。

http://www.kent-web.com/support/bbs/?list=all&bos=8713
http://www.kent-web.com/support/bbs/?list=all&bos=8411


記事No: 9128
投稿日: 2011/09/06(Tue) 08:55:42
タイトルRe^2: postmail v5.72のUTFについて
ID情報: reiko328
投稿者: コンテンツ制作部員
URLhttp://www3.ginet.or.jp/sjsiki/test/utf.html

早速のご返答ありがとうございます。
QA見てみます!
文字化けするのは名前の所に「さん」といれると文字化けします。


記事No: 9129
投稿日: 2011/09/06(Tue) 09:15:34
タイトルRe^3: postmail v5.72のUTFについて
ID情報: reiko328
投稿者: コンテンツ制作部員
URLhttp://www3.ginet.or.jp/sjsiki/test/utf.html

> 早速のご返答ありがとうございます。
> QA見てみます!
> 文字化けするのは名前の所に「さん」といれると文字化けします。

http://www.kent-web.com/support/bbs/?list=all&bos=8713

こちらのQAを参考にpostmail.cgiを修正後、UPしてみました。

↓↓☆変更した点☆↓↓-----------------------------

Jcode.pmの代わりにこちらで配布されている文字コード変換ライブラリを使用すれば特定の文字化けに関しては解消されます。
http://www11.atpages.jp/atgamewikibbs/pm/SJIS_UTF8.pm

●文字コード変換ライブラリをコピーしてSJIS_UTF8.pmと言うネームでlibディレクトリにアップ

●postmail.cgi

# モジュール実行
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use lib './lib';
use Jcode;
use SJIS_UTF8; ## 追加


#-----------------------------------------------------------
# フォームデコード
#-----------------------------------------------------------
-- 省略 --
# コード変換
#Jcode::convert(\$key, 'sjis'); ## コメントアウト
#Jcode::convert(\$val, 'sjis'); ## コメントアウト
&SJIS_UTF8::utf82sjis($key); ## 追加
&SJIS_UTF8::utf82sjis($val); ## 追加

↑↑☆変更した点☆↑↑-----------------------------

「さん」は使えるようになったのですが、何も入れてない時のエラー文が文字化けするようになってしまいました。
・お名前
 お名前縺ッ蜈・蜉帛ソ・医〒縺・
・メールアドレス
 メールアドレス縺ッ蜈・蜉帛ソ・医〒縺・
・問合せ種別
 問合せ種別縺ッ蜈・蜉帛ソ・医〒縺・
という具合です…
また、確認フォームで正常に表示されていても、送信されてくるメールでは、問い合わせ種別が文字化けを起こしています。

同梱のutf.htmlをそのままUTF8の状態でアップロードしてあります。
その他のものは、文字コードを書き換えていないのでShift-JISだと思われます。


記事No: 9131
投稿日: 2011/09/06(Tue) 14:52:22
タイトルRe^4: postmail v5.72のUTFについて
ID情報: kent
投稿者: KENT

> > 早速のご返答ありがとうございます。
> > QA見てみます!
> > 文字化けするのは名前の所に「さん」といれると文字化けします。
>
> http://www.kent-web.com/support/bbs/?list=all&bos=8713
> ↑
> こちらのQAを参考にpostmail.cgiを修正後、UPしてみました。
>
> ↓↓☆変更した点☆↓↓-----------------------------
>
> Jcode.pmの代わりにこちらで配布されている文字コード変換ライブラリを使用すれば特定の文字化けに関しては解消されます。
> http://www11.atpages.jp/atgamewikibbs/pm/SJIS_UTF8.pm
>
> ●文字コード変換ライブラリをコピーしてSJIS_UTF8.pmと言うネームでlibディレクトリにアップ
>
> ●postmail.cgi
>
> # モジュール実行
> use strict;
> use CGI;
> use CGI::Carp qw(fatalsToBrowser);
> use lib './lib';
> use Jcode;
> use SJIS_UTF8; ## 追加
>
>
> #-----------------------------------------------------------
> # フォームデコード
> #-----------------------------------------------------------
> -- 省略 --
> # コード変換
> #Jcode::convert(\$key, 'sjis'); ## コメントアウト
> #Jcode::convert(\$val, 'sjis'); ## コメントアウト
> &SJIS_UTF8::utf82sjis($key); ## 追加
> &SJIS_UTF8::utf82sjis($val); ## 追加
>
> ↑↑☆変更した点☆↑↑-----------------------------
>
> 「さん」は使えるようになったのですが、何も入れてない時のエラー文が文字化けするようになってしまいました。
> ・お名前
>  お名前縺ッ蜈・蜉帛ソ・�医〒縺・
> ・メールアドレス
>  メールアドレス縺ッ蜈・蜉帛ソ・�医〒縺・
> ・問合せ種別
>  問合せ種別縺ッ蜈・蜉帛ソ・�医〒縺・
> という具合です…
> また、確認フォームで正常に表示されていても、送信されてくるメールでは、問い合わせ種別が文字化けを起こしています。
>
> 同梱のutf.htmlをそのままUTF8の状態でアップロードしてあります。
> その他のものは、文字コードを書き換えていないのでShift-JISだと思われます。

postmail.cgi のプログラム本体の文字コードをUTF-8に変更していませんか?


記事No: 9133
投稿日: 2011/09/06(Tue) 16:04:17
タイトルRe^5: postmail v5.72のUTFについて
ID情報: reiko328
投稿者: コンテンツ制作部員
URLhttp://www3.ginet.or.jp/sjsiki/test/utf.html

> postmail.cgi のプログラム本体の文字コードをUTF-8に変更していませんか?

postmail.cgiですが、仰ったとおり「UTF-8」になってました!
無事に送信できて何よりです。
と思っていたら、受信したメールの方が文字化けに…
お問合せ種別でその他のラジオボタンを選んだら「磨ャせ種別 = そaャシ」となっていました。
どうしたらよろしいでしょうか?

以前のリンクで教えてもらったページ
http://www.kent-web.com/support/bbs/?list=all&bos=8713
は、バージョンが5.72の為か、同じ記述の文字列が見つかりません。


記事No: 9138
投稿日: 2011/09/07(Wed) 12:15:00
タイトルRe^6: postmail v5.72のUTFについて
ID情報: kent
投稿者: KENT

> > postmail.cgi のプログラム本体の文字コードをUTF-8に変更していませんか?
>
> postmail.cgiですが、仰ったとおり「UTF-8」になってました!
> 無事に送信できて何よりです。
> と思っていたら、受信したメールの方が文字化けに…
> お問合せ種別でその他のラジオボタンを選んだら「磨ャせ種別 = そaャシ」となっていました。
> どうしたらよろしいでしょうか?
>
> 以前のリンクで教えてもらったページ
> http://www.kent-web.com/support/bbs/?list=all&bos=8713
> は、バージョンが5.53の為か、同じ記述の文字列が見つかりません。

そうですか。Jcode.pmはPerl環境によって動作が異なるようで難しいところがありますね。

以下の対応方法はいかがですか。

http://www.kent-web.com/support/bbs/?list=all&bos=8713&pg=#8729

(新バージョンでの行数)
※上から順に
508行目 → 475行目
158行目 → 153行目


記事No: 9140
投稿日: 2011/09/07(Wed) 14:25:49
タイトルRe^7: postmail v5.72のUTFについて
ID情報: reiko328
投稿者: コンテンツ制作部員
URLhttp://www3.ginet.or.jp/sjsiki/test/utf.html

> そうですか。Jcode.pmはPerl環境によって動作が異なるようで難しいところがありますね。
>
> 以下の対応方法はいかがですか。
>
> http://www.kent-web.com/support/bbs/?list=all&bos=8713&pg=#8729
>
> (新バージョンでの行数)
> ※上から順に
> 508行目 → 475行目
> 158行目 → 153行目
>
153行目

■変更前
#$$in{$key} =~ s/\0/ /g;
$hidden .= qq|<input type="hidden" name="$key" value="$$in{$key}" />\n|;

# 改行変換
$$in{$key} =~ s/\t/<br \/>/g;

my $tmp = $loop;
if (defined($cf{replace}->{$key})) {
$tmp =~ s/!key!/$cf{replace}->{$key}/;
} else {
$tmp =~ s/!key!/$key/;
}
$tmp =~ s/!val!/$$in{$key}/;
$item .= $tmp;

$bef = $key;
}

■変更後
my $val = $$in{$key};
Jcode::convert(\$key, 'sjis', 'utf8');
Jcode::convert(\$val, 'sjis', 'utf8');

#$$in{$key} =~ s/\0/ /g;
$hidden .= qq|<input type="hidden" name="$key" value="$val" />\n|;

# 改行変換
$val =~ s/\t/<br \/>/g;
#my $tmp = $cell;
my $tmp = $loop;
if (defined($cf{replace}->{$key})) {
$tmp =~ s/!key!/$cf{replace}->{$key}/;
} else {
$tmp =~ s/!key!/$key/;
}
$tmp =~ s/!val!/$val/;

475行目
<No.8814>を行った後でしたので、このように記述してあります。
SJIS_UTF8.pmのライブラリは「lib」フォルダにUPしたままです。
■変更前
# コード変換
#Jcode::convert(\$key, 'sjis');
#Jcode::convert(\$val, 'sjis');
&SJIS_UTF8::utf82sjis($key);
&SJIS_UTF8::utf82sjis($val);

■変更後
# コード変換
#Jcode::convert(\$key, 'sjis');
#Jcode::convert(\$val, 'sjis');
#&SJIS_UTF8::utf82sjis($key);
#&SJIS_UTF8::utf82sjis($val);

としたら、メールも文字化け無しで届きました!
長々と質問致しまして申し訳ありませんでした。
ありがとうございました。
またつまづいたらお助けください…。


記事No: 9141
投稿日: 2011/09/07(Wed) 15:19:23
タイトルRe^8: postmail v5.72のUTFについて
ID情報: reiko328
投稿者: コンテンツ制作部員
URLhttp://www3.ginet.or.jp/sjsiki/test/utf.html

コメント入力後に、postmai.htmlを削除し、時間をおいてまた見たら今度は「問合せ種別」と「メッセージ」が文字化けを起こしていました…
お問合せ種別は『蝠丞粋縺帷ィョ蛻・』メッセージは『繝。繝・そ繝シ繧ク』となっています。
何か触った記憶もなく(記憶飛んでいるだけ?!)どうしたら良いものやら。。。
cgiはshift-jisで書かれていますし、<No.9129><No.9140>の作業は行ってあります。


記事No: 9143
投稿日: 2011/09/08(Thu) 07:39:12
タイトルRe^9: postmail v5.72のUTFについて
ID情報: kent
投稿者: KENT

> コメント入力後に、postmai.htmlを削除し、時間をおいてまた見たら今度は「問合せ種別」と「メッセージ」が文字化けを起こしていました…
> お問合せ種別は『蝠丞粋縺帷ィョ蛻・』メッセージは『繝。繝・そ繝シ繧ク』となっています。
> 何か触った記憶もなく(記憶飛んでいるだけ?!)どうしたら良いものやら。。。
> cgiはshift-jisで書かれていますし、<No.9129><No.9140>の作業は行ってあります。

こういったケースでは、いったん全てを削除し、一から修正及び設置作業をやり直してみてはいかがでしょうか。


記事No: 9148
投稿日: 2011/09/08(Thu) 14:45:28
タイトルRe^10: postmail v5.72のUTFについて
ID情報: reiko328
投稿者: コンテンツ制作部員
URLhttp://www3.ginet.or.jp/sjsiki/test/utf.html

> こういったケースでは、いったん全てを削除し、一から修正及び設置作業をやり直してみてはいかがでしょうか。

ご指導、ありがとうございました。
何度かフォルダ毎削除をし、トライしてみました。
文字化けもなく、正常に動くようになりました。

修正した点は以下の通りです。

↓↓☆変更した点☆↓↓-----------------------------

Jcode.pmの代わりにこちらで配布されている文字コード変換ライブラリを使用すれば特定の文字化けに関しては解消。
http://www11.atpages.jp/atgamewikibbs/pm/SJIS_UTF8.pm

●文字コード変換ライブラリをコピーしてSJIS_UTF8.pmと言うネームでlibディレクトリにアップロード

●postmail.cgi

9行目
■変更前
# モジュール実行
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use lib './lib';
use Jcode;

■変更後
# モジュール実行
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use lib './lib';
use Jcode;
use SJIS_UTF8; ## 追加

152行目
■変更前
#$$in{$key} =~ s/\0/ /g;
$hidden .= qq|<input type="hidden" name="$key" value="$$in{$key}" />\n|;

# 改行変換
$$in{$key} =~ s/\t/<br \/>/g;

my $tmp = $loop;
if (defined($cf{replace}->{$key})) {
$tmp =~ s/!key!/$cf{replace}->{$key}/;
} else {
$tmp =~ s/!key!/$key/;
}
$tmp =~ s/!val!/$$in{$key}/;
$item .= $tmp;

$bef = $key;
}

■変更後
my $val = $$in{$key};
Jcode::convert(\$key, 'sjis', 'utf8');
Jcode::convert(\$val, 'sjis', 'utf8');

#$$in{$key} =~ s/\0/ /g;
$hidden .= qq|<input type="hidden" name="$key" value="$val" />\n|;

# 改行変換
$val =~ s/\t/<br \/>/g;

my $tmp = $loop;
if (defined($cf{replace}->{$key})) {
$tmp =~ s/!key!/$cf{replace}->{$key}/;
} else {
$tmp =~ s/!key!/$key/;
}
$tmp =~ s/!val!/$val/;
$item .= $tmp;

$bef = $key;
}


447行目
■変更前
#-----------------------------------------------------------
# フォームデコード
#-----------------------------------------------------------
-- 省略 --
# コード変換
Jcode::convert(\$key, 'sjis');
Jcode::convert(\$val, 'sjis');

■変更後
#-----------------------------------------------------------
# フォームデコード
#-----------------------------------------------------------
-- 省略 --
# コード変換
#Jcode::convert(\$key, 'sjis');
#Jcode::convert(\$val, 'sjis');

↑↑☆変更した点☆↑↑-----------------------------

この状態でcgiを入れ替えたときにまた文字化けが起こってしまった時があるので、迂闊に触れなくてちょっと怖々です;
v5.72は、まだ安定しているとは言えないのでしょうか;


記事No: 9151
投稿日: 2011/09/09(Fri) 08:29:57
タイトルRe^11: postmail v5.72のUTFについて
ID情報: kent
投稿者: KENT

> この状態でcgiを入れ替えたときにまた文字化けが起こってしまった時があるので、迂闊に触れなくてちょっと怖々です;
> v5.72は、まだ安定しているとは言えないのでしょうか;

私見ですが、モジュールのほうが安定していないのでしょうね。
個人的な感想ですが、Jcode.pmは、シフトJISとUTF-8間での変換では、たびたび文字コードの認識を誤ってしまうようです。
(Perl環境にもよる)

文字化けに対して神経質になるのならば、投稿フォームはシフトJISで作成してみてはいかがでしょうか。

それから、近日中に、postmailのUTF-8版を作成するつもりです。それまで待ってみてもいいかもしれません。


記事No: 9152
投稿日: 2011/09/09(Fri) 08:38:35
タイトルRe^12: postmail v5.72のUTFについて
ID情報: reiko328
投稿者: コンテンツ制作部員
URLhttp://www.nisimino.com/sjsiki/postmail/utf.html

> > この状態でcgiを入れ替えたときにまた文字化けが起こってしまった時があるので、迂闊に触れなくてちょっと怖々です;
> > v5.72は、まだ安定しているとは言えないのでしょうか;
>
> 私見ですが、モジュールのほうが安定していないのでしょうね。
> 個人的な感想ですが、Jcode.pmは、シフトJISとUTF-8間での変換では、たびたび文字コードの認識を誤ってしまうようです。
> (Perl環境にもよる)
>
> 文字化けに対して神経質になるのならば、投稿フォームはシフトJISで作成してみてはいかがでしょうか。
>
> それから、近日中に、postmailのUTF-8版を作成するつもりです。それまで待ってみてもいいかもしれません。
>

社内でUTF-8でしか動かせないホームページの中に入れ込む為用のモノだったので、何とか動かせて任務達成です!
安定したUTF-8版が出来たときにもtryしてみます!
本当に、ありがとうございました!


[検索ページ]