文字コードの変換について
CGIは、入力フォーム、データベース、結果の画面と下図の様な関係を持ちます。
①から④までが、どういう文字コード(文字セット)で表されているかは、其々の作成者との約束です。
通常、[1]入力フォームからのサブミットは、UTF-8で行う様にします。
これは、ブラウザの種類、WEBサーバの設定を考慮して決めます。
データベースの文字コードは、データベース固有の事情に左右されます。
当社のデータベースは、PostgreSQLなので、データベースソフトは、UTF-8に対応していますが、古いデータベースでは、
(それらを制御するアプリケーションの事情で)データがEUC_JPやUTF-8のものも有ります。
通常、[2]は、データベースの文字コードに従います。
結果の画面は、現実には、Windowsパソコンで作成する場合が多いので、UTF-8が多用されています。
又、結果が画面でなく、xml文書の場合は、UTF-8が好まれます(JavaScriptの事情で)。
これらの関係を考慮して、適切に文字コード変換を行わなければなりません。