無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

34.7. character_sets

この character_sets ビューは、現在のデータベースで利用可能な文字セットを識別します。PostgreSQLはひとつのデータベース内で複数の文字セットをサポートしないので、このビューは常にデータベースエンコーディングの一行だけを表示します。

以下の用語のSQL標準での使われ方に注意してください。

文字集合

例えば UNICODE UCS LATIN1 といった抽象的な文字集合です。SQLオブジェクトしてはでてきませんが、このビューで参照できます。

文字符号化形式

文字集合の符号化方式です。ほとんどの古い文字集合はひとつの符号化形式を使うため、それらについては分離した名称はありません(たとえば、 LATIN1 LATIN1 集合に適用可能な符号化形式です)。しかし例えばUnicodeには UTF8 UTF16 などの符号化形式があります(PostgreSQLでは一部だけサポートしています)。符号化形式はSQLオブジェクトとして表にでませんが、このビューで参照できます。

文字セット

文字集合、文字符号化方式とデフォルトの照合を識別する順序名前つきのSQLオブジェクトです。定義済みの文字セットは、一般的に符号化形式と同じ名前を持ちますが、ユーザは他の名前を定義することができます。例えば、文字セット UTF8 は一般的に文字集合 UCS 、符号化形式 UTF8 と何らかのデフォルト照合を識別します。

PostgreSQLにおける "encoding" は、文字セットまたは文字符号化形式のいずれかと考えられます。これらは同じ名前を持ち一つのデータベースでは一つだけ存在できます。

表 34-5. character_sets の列

名前 データ型 説明
character_set_catalog sql_identifier 文字セットはスキーマオブジェクトとして実装されていないので、この列はNULLです。
character_set_schema sql_identifier 文字セットはスキーマオブジェクトとして実装されていないので、この列はNULLです。
character_set_name sql_identifier 文字セットの名前で、現在はデータベースエンコーディングを表示するように実装されています。
character_repertoire sql_identifier 文字集合で、エンコーディングが UTF8 の場合は UCS を、それ以外の場合は単にエンコーディング名を表示します。
form_of_use sql_identifier 文字符号化形式で, データベースエンコーディングと同じです。
default_collate_catalog sql_identifier デフォルト照合を含むデータベース(いずれかの照合が識別された場合は常に現在のデータベース)の名前です。
default_collate_schema sql_identifier デフォルト照合を含むスキーマの名前です。
default_collate_name sql_identifier デフォルト照合の名前です。デフォルト照合は、現在のデータベースの COLLATE CTYPE 設定に一致する照合として識別されます。そのような照合が存在しない場合は、この列や対応するスキーマやカタログの列はNULLです。

powered by SEO.CUG.NET