Unicode フィールド タイプ
- Unicode フィールド タイプを使用することで、RDML アプリケーションの UI やデータベースのデータは常に Unicode として扱われます。つまり、アプリケーションでは複数の言語のデータを表示、編集、保存が可能で、さらに同じデータベース・テーブルから読みこんだり、外部サーバーにデータを失うことなく送受信できるようになります。
- 既存の Alpha、Char、String のフィールドを Nchar や Nvarchar に変更することで、既存のアプリケーションは、コード・テーブルやその他の様々な状況に対応する特有言語による記述だけでなく、複数言語による世界中の顧客データ (名前や住所など) もサポートできるようになります。
- Nchar と Nvarchar は、すべての LANSA 製品 (LANSA Integrator、LANSA Client、LANSA Open for .NET など) でサポートされます。
- Nchar と Nvarchar は、SUNI 属性の Char や String とは扱いが異なります。SUNI 属性は、このフィールドがデータベース層でのみ Unicode であることを示しています。その他の場所では、現在のコードページで処理されます。つまり、SUNI 属性の Char に Nchar を割り当てた場合、すべてのデータが現在のコードページで認識されていない限り、データが失われてしまう場合がありということです。ですから、SUNI 属性の使用は推奨されていません。
以下の組み込みファンクションは、特に Unicode フィールド・タイプによる開発時には便利です。
組み込みファンクション | コメント |
|---|
AsNativeString | この組み込みファンクションを利用して、フィールド・タイプ Unicode がサポートされていない時に、 Nchar または Nvarchar のデータを現在のコードページに変換します。例えば、Unicode がサポートされない BIF の起動時などです。 |
AsUnicodeString | この組み込みファンクションを使って、文字の数値 (コードポイント) から取り出したデータを Nchar または Nvarchar に取り込みます。このファンクションによって、10 進の数字全体が個別の Unicode 文字に変換され、これを連結させることで、現在のコードページでは表せない Unicode 文字を作成することができます。 |
AsCodePoint | この組み込みファンクションを使って、1 つの Nchar を数値の個別の文字に分解します。このファンクションの処理は、AsUnicodeString と逆になります。Nchar 文字列を受け取り、この文字の数値 (コードポイント) を返します。 |