本システムでは入力されたデータに対し、まず文字コードを判別し、 次に機種依存文字などに注意しながら文字コードを EUC に変換します。 それから、入力としてふさわしくない文字コードを取り除いたり、 解析できない文字に対してエラーを出します。
DBIPgSystem::DB::setincode メソッド で文字コードの判別を行います。
通常は、文字コードをより確実に判別するために、 $self->{global}{code_dist} の値をブラウザから送信されるようにするべきです。 HTML の文字コードは、特に理由がない限り Shift_JIS を使ってください。 パラメータ "code_dist" の値から文字コードの判別をします。
クエリーを付けたURIを指定できるよう、 $self->{global}{code}{euc} の設定も行っておくことをお薦めします。
ブラウザから受け取ったパラメータやCSVファイルの内容は、 まず最初にDBIPgSystem::DB::infilter メソッド で文字コードを変換されます。 このメソッドでは、文字コードの変換や、文字の置換、 不適切な文字の除去を行います。
内部でサポートしている文字コードは EUC のみです。 (ASCII もこの一部として使うことができます。) EUC以外の 8ビットの文字コードや、ISO 646、 Unicode 等の文字コードは現時点ではサポートしていません。