文字コードのマルチ変換

昔のファイルの大整理の一環である。fileconv.cgiというのが出てきた(D:\Source\Perl_PHP\perl_storage\cgi2)。タイムスタンプは2009/06/29である。今から約10年前のものである、当時の記憶も定かではない。これはfileconv_h4.htmlから呼び出すものだったようである(両者がペアで残っていた)。


idname

これを今風にあわせてHTML5で書き換えると次のようになる(perl_file_convert_prev_e.htmlと改名)。*.cgiソースの内容はそのまま(ファイル名はfile_convert.cgiに変更)。

perl_file_convert_prev_e.html

_e」はこのファイルがEUC-JPで書かれているという意味。
ちなみに「_u」はUTF-8で書かれているという意味。ここでの統一ネーミングルールによる。


idnameか」という論点はもう「古典的」なものであるが、そういうものを使う世界と少し疎遠になっているとそんなことは「コロッ」と忘れてしまう。げに、人間は忘れる動物であることよ(笑)。なかなか微妙な差がある。

参考 <script> function CopyFName() { WriteFileName.value = FileName.value; } </script> <form action="http://localhost/bin/perl/file_convert.cgi" method="post"> <input type="file" id="FileName" size="80" class="bxc"> <input type="text" id="WriteFileName" size="80" value="" class="bxg">  <input type="button" value="Copy" onclick="CopyFName()" class="btnb"><br> </form>

問題点
これでは[Copy]ボタンの動作はしない。
そこで次のようにしたら[Copy]ボタンは動作した。

参考 <script> function CopyFName() { FileConvert.WriteFileName.value = FileConvert.FileName.value; } </script> <form action="http://localhost/bin/perl/file_convert.cgi" method="post" name="FileConvert"> <input type="file" name="FileName" size="80" class="bxc"> <input type="text" name="WriteFileName" size="80" value="" class="bxg">  <input type="button" value="Copy" onclick="CopyFName()" class="btnb"><br> </form>

ちなみに、ここを「id」にしたのは、少し前に「HTAの復活」で生き返らせたhta_text_editor_js.htaでは次のようにしていたからである。それで動作していた。
ちなみに、ここではformタグは使っていない。各コントロール(フォーム・オブジェクト)にはidを使っている。

参考 <script> function CopyFName() { WrileFileName.value = FileName.value; } </script> <input type="file" id="FileName" size="80" class="bxg"><br> <input type="text" id="WriteFileName" size="80" value="" class="bxc"><br> <input type="button" value="CopyFName" onclick="CopyFName()"><br>

hta_text_editor_js.hta

問題点
この差は、formタグを使っているか使っていないかの差しかない(ように思える)。
ちなみに、上のHTAでは「input type="file"」に色が付いているが(いちおうHTML5形式)、perl_file_convert_prev_e.htmlでは色の付き方が違う(テキストボックスと「参照」ボタンの間にだけ色が付いている)。この差はよくわからない。しいていえば、HTA自体が「旧い」技術だから色が付いているとしか考えられない。


一本化

このパターンのように、*.htmlファイルから*.cgiを呼び出すという「方式」は作るのに手間がかかる。管理も煩瑣になる。
そこで最近ではこの方式で作ることはほとんどないので、すべて*.cgiファイルにまとめてしまうことにする。それが新しいfile_convert.cgiである。

file_convert.cgi

*.htmlのようにゴテゴテと画像で飾ることはあまりできないが、実用面では支障はない。
また「input type="file"」に色は付けないことにした。

従来のものは、perl_file_convert_prev_e.htmlfile_convert_prev.cgiとしてお蔵入り(storage)である。

- 2019/09/23 -