[[Open棟梁>https://github.com/OpenTouryoProject]] wiki -[[戻る>アプリケーション設計のポイント]] *目次 [#ub07d145] #contents *概要 [#a9d18301] システム内部で使用する文字コードとエンコーディングを明記する。 -従来のVB6.0などの標準GUIコントロールはUnicode に対応しておらずShift-JISでの入力が一般的であったが、WWWブラウザやWindows FormsなどではUnicodeでの入力が一般的になっているため、システムで利用可能なキャラクタセットは、Unicodeで利用可能なキャラクタセットとすることが一般的である。 -Webでは例外的にShift-JISのサイトも存在するが、wwwブラウザがUnicodeにのみ存在する文字を数値参照に自動変換するという動きが問題となることがあるため、こちらもUnicodeが一般的である。なお、システムで使用されるUnicode は、プログラム中はUTF-16であり、外部出力はUTF-8でエンコーディングされるのが一般的である。 -また、文字コードが異なる「ファイル ⇔ システム」、「システム ⇔ システム」間では、エンコーディングが必要になる。エンコーディングにより文字化けが発生するかどうかをCocktailの「文字セット、文字エンコーディングの可逆変換性チェック」部品でチェックできるが、この機能は、エンコード ~ デコードの処理をすべて自システム内で実行する場合にのみ保障される。 例えば、「鱓」は、POST時にwwwブラウザにより数値文字列参照「鱓」(0x9C53 → 40019)に変換される。 入力文字(鱓)は、HTTPリクエスト エンティティ ボディでは「%26%2340415%3B」、APサーバ HTTPリクエスト Formコレクションでは「鱓」となる。 JIS X 0212(1990)to Unicode補助漢字コード表 http://charset.7jp.net/jis0212.html