文字コードを変換するときに利用できる変換テーブル名を取得する
これはInterSystems FAQ サイトの記事です。
文字コードの変換に利用できる変換テーブル名は、以下のシステム関数で取得できます。
Write $$GetIONames^%SYS.NLS()
現在のロケールにおいて各デバイス(ファイル、ターミナル等)のデフォルトの変換テーブル名を取得するには、%SYS.NLS.Table クラスを使用します。
確認方法は以下の通りです。
(1) システムデフォルト設定を取得するため、%SYS.NLS.Table のインスタンスを生成します。(引数に、"System" を指定します。)
set obj=##class(%SYS.NLS.Table).%New("System")
(2) GetIOTable() メソッドを使用して、確認したいデバイスの現在の変換テーブル名を取得します。
メソッドの引数には、デバイス名に対応した番号を指定します。(詳細はクラスリファレンスをご参照ください。)
【ご参考】クラスリファレンスは、ドキュメントトップ > クラスリファレンス または、スタジオ→表示→クラスドキュメント から参照できます。
// ファイル入出力に使用する変換テーブル名を取得
write obj.GetIOTable(3)
【ご参考】
以下のドキュメントもご参照ください。
%SYS.NLS.Tableについて【IRIS】
%SYS.NLS.Tableについて
使用例については、以下のドキュメントの「システムおよびプロセス・テーブル・データの表示」をご参照ください。