Home > リファレンスガイド > プロジェクト > コンテンツエンコード処理 > Unicodeサポート

Unicodeサポート

Magic xpiは、データ変換と転送のためにUnicodeが標準で利用できます。この機能は、Magic xpiのANSIとOEMのサポートに追加されたものです。

以下の場合にUnicodeが利用できます:

Unicode(UTF-16)の内容は、対応するUnicode BLOBに読み込まれ、BOMは処理中に削除されます。

このBLOBがHTTPの応答として提供された場合、そこにはBOMを含まれません。これにより、クライアントは、応答の内容のエンコーディング(Since version: 4.0a)を識別でません。以下のどちらかの方法でUnicodeの内容を処理することを推奨します:

BLOBはすでにUnicodeと認定されているため、Unicode BLOBはデータの一部としてBOMを保持しません。このシナリオの例は以下の通りです:

  1. File2Blb関数を使用してUnicodeファイルのBLOBを更新し、[Flow Data設定]ウィンドウ内で[エンコーディング]カラムのドロップダウンリストからバイナリを選択してください。Magic xpiは、処理中にBOMを削除し、Unicode BLOBに最初に内容をロードし、バイナリBlobを「そのまま」の内容で更新します。

  2. 現在Unicode内容のバイナリBLOBがありますが、BOMなしです。Blb2File関数を使用してファイルシステムにバイナリBLOBを書き込みます。これによってUnicode内容のBOMなしのファイルが得られます。

Unicode BLOBをファイルシステムに保存するto、BOMは新しいファイルに自動的に追加されます。

  • このバージョンでは、SAP A1、SAP ERP、およびSAP usiness OneのコンポーネントがUnicodeを完全にサポートします。他のすべてのコンポーネントは、ステップモード内でANSIだけをサポートします。これらのコンポーネントのためにUnicodeデータを処理する場合、結果は未確定です。

  • Directory ScannerやHTTP、およびWeb ServiceのコンポーネントはトリガモードでのみUnicodeをサポートします。

  • Magic xpiはBLOBに保存されたすべてのデータをバイナリデータとして扱います。従って、Unicodeデータを表示すためには、NotepadなどのUnicodeをサポートするアプリケーションを使用してください。

Unicode関数

データマッパーでのUnicode使用

Magic xpiのUnicodeサポートとは、データベーステーブルでUnicodeフィールドを使用することができるということです。nVarCharフィールドは、自動的にUnicodeフィールドとして扱われます。この場合、内部属性ノードプロパティは、AlphaではなくUnicodeと表示されます。

Base64フィールド要素を持つUniocdeXML送り元がある場合、直接BLOBの宛先にマッピングできません。最初に、Base64の内容をANSIに変換する必要があります。

式エディタでのUnicode使用

式エディタは完全にUnicodeベースです。

  • Blb2File関数は、UnicodeファイルからBOMを削除します。このためUnicodeデータの操作にこの関数を使用すると予期せぬ結果をもたらす場合があります。データをANSI形式で保存するには、UnicodeToANSI関数を使用する必要があります。

  • データを式エディタに入力すると、Unicodeで保存されます。たとえば、ファイル管理コンポーネントのWrite Fileメソッドを使用する場合、データ特性内にハードコートされた文字列は、Unicodeファイルを作成します。データ特性のために項目がANSIで保存されている場合、ANSIファイルが作成されます。

ODS、UDSとUnicode変換

ODSとUDS変数に蓄えられたUnicodeベースのデータは、透過的にUnicodeとして扱われ保存されます。全てのUDSとODS関数群は、透過的にUnicodeデータをサポートしています。

関連トピック