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


記事No: 8903
投稿日: 2011/08/08(Mon) 01:34:56
タイトルJoyful Note等のフォームデコード
ID情報: 77202137
投稿者: 竹内 晃
URLhttp://livebbs.it-online.jp/

竹内と申します。Joyful Noteを改造して使わせていただいております。
使用しているサーバーにはJcode.pmがインストールされているため、jcode.plの代わりにJcode.pm用にコードを書き替えて使用しておりました。
ところが管理者モードで記事の編集や削除を行おうとして、チェックボックスを複数選択すると、上手く動作しないことに最近気がつきました。
ということは、admin.cgi内の if ($in{'no'} =~ /\0/) での判定が上手くいっていないのだろうと推測しております。ini.cgiのparse_formサブルーチンのJcode.pmをjcode.plへ戻すと正常動作するようなのですが、Jcodeの部分ではshift-JISへの変換しかしていないはずなのにどうしてこれが影響するのか、理解できずにおります。
理由が分かれば、jcode.plに戻すか、checkboxをradioボタンに変更するかだと思っておりますが、ご教授いただければ幸いです。


記事No: 8908
投稿日: 2011/08/09(Tue) 12:26:50
タイトルRe: Joyful Note等のフォームデコード
ID情報: kent
投稿者: KENT

> 竹内と申します。Joyful Noteを改造して使わせていただいております。
> 使用しているサーバーにはJcode.pmがインストールされているため、jcode.plの代わりにJcode.pm用にコードを書き替えて使用しておりました。
> ところが管理者モードで記事の編集や削除を行おうとして、チェックボックスを複数選択すると、上手く動作しないことに最近気がつきました。
> ということは、admin.cgi内の if ($in{'no'} =~ /\0/) での判定が上手くいっていないのだろうと推測しております。ini.cgiのparse_formサブルーチンのJcode.pmをjcode.plへ戻すと正常動作するようなのですが、Jcodeの部分ではshift-JISへの変換しかしていないはずなのにどうしてこれが影響するのか、理解できずにおります。
> 理由が分かれば、jcode.plに戻すか、checkboxをradioボタンに変更するかだと思っておりますが、ご教授いただければ幸いです。

Jcode.pmのクセなんでしょうね(バージョンにもよるかも)。
Jcode.pmはヌル(\0)を含む文字列をコード変換すると、誤変換することがあるようです。


記事No: 8910
投稿日: 2011/08/10(Wed) 01:08:56
タイトルRe^2: Joyful Note等のフォームデコード
ID情報: 77202137
投稿者: 竹内 晃
URLhttp://livebbs.it-online.jp/

KENT様

> Jcode.pmのクセなんでしょうね(バージョンにもよるかも)。
> Jcode.pmはヌル(\0)を含む文字列をコード変換すると、誤変換することがあるようです。

早速のご返信をいただき、ありがとうございました。
Jcode.pmは最新版と思われる2.07を使用していましたので、Jcode.pmはあきらめて、jcode.plに戻しました。

Jcode.pmは比較的短期間でEncode.pmに取って代わられようとしていたりするため、バグ的なものが残っているのでしょうか。なかなか難しいですね。


[検索ページ]