システムでは、運用する文字コードの中でも、使用できる文字の範囲を限定する運用があります。
例えば、「Unicodeでシステムを運用しているが、使用できる文字はシフトJISの文字のみとする」、「Unicodeでシステムを運用しているが、外字は使用不可とする」といったものがあります。
しかし、不特定のクライアントとの接続、またはシステム連携する場合には、システムでは使用できない文字が入力される可能性があります。また、新たなクライアントや、新たなシステムと連携する場合にも、システムが想定しない文字が入力されてしまう可能性があります。
このため、システムは使用できない文字コードが入力された際にエラーにするなど、適切に対処する必要があります。何も対処しなかった場合、システムでは何らかのトラブルが発生する可能性があり、システムの安定した運用へ影響を与えかねません。
こういったトラブルを避けるためには、システムで使用できない文字を通さない仕組みが必要となります。Charset Validatorでは、あらかじめシステムで有効とする文字/無効とする文字を定義し、その定義を元に有効/無効を判定する機能を提供します。Charset Validatorの機能を利用することによって、トラブルを未然に防ぐことができます。
例
例えば、Unicodeの2面の文字はUTF-8やUTF-16では4バイトで表現されます。このため、システムがこれらの文字の入力を想定していない場合、システムトラブルに発展する可能性があります。
JIS X 0208の後継規格であるJIS X 0213:2004では一部の文字が、Unicodeの2面にマッピングされています。詳しくは、“付録A JIS X 0213:2004について”を参照してください。