|
|
第9回■上流工程で文字集合仕様と文字エンコーディングを決定する文字コードに関する注意点(5)今まで4回にわたって文字コードに関する問題を解説してきた。ここでいったん,今まで説明した文字コードによる問題を一覧表としてまとめよう。 表1●文字コードに起因する問題のまとめ
これらの対策のうち,ここでは「文字集合の変換を伴う変換をしない」など,アプリケーション全体の文字コードの取り扱いについて上流工程で留意すべき内容について説明しよう。「入力値のチェック」については次回以降,「入力値の検証」の項で詳しく説明する。「アプリケーションでの正しいマルチバイト文字の処理」については,個別の処理内容の項で説明する。 文字コードの取り扱いについて,上流工程で留意すべき点としては,次の三つが挙げられる。
まずアプリケーション仕様として,処理対象となる文字集合を規定する必要がある。日英語以外の韓国語や中国語,アラビア語などの対応が必要な場合はUnicodeを選択するしかない。さらに日本語だけの場合でも,例えばJIS X 0201+JIS X 0208はJIS第2水準まで,JIS X 0201+JIS X 0213はJIS第4水準までというように,文字集合によって使える漢字の種類が異なる(表2)。このため,どこまでの漢字に対応するかを要求仕様として決定する必要がある。 表2●各文字集合が扱える文字の種類
JIS第3,4水準に対応する文字エンコーディング規格としてはShift_JISの拡張版であるShift_JIS-2004などが規定されているが,これらはWindowsなどではサポートされていない。このため,Windows上でJIS X 0213の漢字を使用するには,Unicodeを利用することになる。
端末側の対応できる文字集合を確認する次に考慮すべき項目は,ユーザーが利用するOSやブラウザ,その他のソフトウエアの種類と,それらが対応する文字集合である。 例えばWindowsを対象とする場合でも,Windowsのバージョンによって対応する文字集合が異なる。Windows VistaはUnicode 3.2,Windows XPはUnicode 3.0という具合だ(表3)。
表3●代表的な Windows と Unicode,および JIS の関係
Mac OS X やLinuxなどをサポートする場合は,対象OSやディストリビューションが対応している文字集合を確認する。さらに,電子メールへの対応や携帯電話のブラウザを対象とする場合は,個別の対応が必要となる。 日本語の電子メールの文字エンコーディングにはISO-2022-JPが広く利用されている。携帯電話に搭載されるブラウザには伝統的にShift_JISが使われてきた。最近でこそ電子メール・クライアント(メーラー)や携帯電話向けブラウザにもUTF-8対応のものが増えてきたが,非対応のソフトもまだ多数使用されている。この状況を考えると,不特定多数を対象とするサービスでは,今まで通りJIS系の文字エンコーディングを使用する方が無難だろう。 このように,Webアプリケーション開発言語がUnicode対応を進める一方で,JIS系文字エンコーディングにも対応しなければならない。
>>文字エンコーディングに関する現実的な実装パ...
連載新着記事一覧へ >>
|