Home > リファレンスガイド > プロジェクト > コンテンツエンコード処理 > Unicodeサポート
Magic xpiは、データ変換と転送のためにUnicodeが標準で利用できます。この機能は、Magic xpiのANSIとOEMのサポートに追加されたものです。
以下の場合にUnicodeが利用できます:
外部システム間のUnicodeデータの送受信
データベース内のUnicodeデータの読み書き
データマッパー内のUnicode処理
フラットファイル内のUnicodeデータの読み書き
Unicode(UTF-16)の内容は、対応するUnicode BLOBに読み込まれ、BOMは処理中に削除されます。
このBLOBがHTTPの応答として提供された場合、そこにはBOMを含まれません。これにより、クライアントは、応答の内容のエンコーディング(Since version: 4.0a)を識別でません。以下のどちらかの方法でUnicodeの内容を処理することを推奨します:
BlobAddBOM関数の使用
SetHTTPHeaders関数を使用してコンテンツタイプのヘッダーを追加する
BLOBはすでにUnicodeと認定されているため、Unicode BLOBはデータの一部としてBOMを保持しません。このシナリオの例は以下の通りです:
File2Blb関数を使用してUnicodeファイルのBLOBを更新し、[Flow Data設定]ウィンドウ内で[エンコーディング]カラムのドロップダウンリストからバイナリを選択してください。Magic xpiは、処理中にBOMを削除し、Unicode BLOBに最初に内容をロードし、バイナリBlobを「そのまま」の内容で更新します。
現在Unicode内容のバイナリBLOBがありますが、BOMなしです。Blb2File関数を使用してファイルシステムにバイナリBLOBを書き込みます。これによってUnicode内容のBOMなしのファイルが得られます。
Unicode BLOBをファイルシステムに保存するto、BOMは新しいファイルに自動的に追加されます。
|
Unicode関数
Magic xpiは、以下のUnicode関数を提供します:
UnicodeChr …… 数値を対応するUnicode文字に変換します。
UnicodeFromANSI: …… ANSI文字列を選択されたコードページでUnicode文字に変換します。
UnicodeToANSI …… Unicode文字を選択されたコードページでANSI文字に変換します。
UnicodeVal …… Unicode文字を対応する数値に変換します。
UTF8fromUnicode …… BOMを含むUTF-8でUnicode BLOBをバイナリBLOBに変換します。
UTF8toUnicode …… ANSIまたはUTF-8 を持つバイナリ BLOBをUnicode BLOBに変換します。
Magic xpiのUnicodeサポートとは、データベーステーブルでUnicodeフィールドを使用することができるということです。nVarCharフィールドは、自動的にUnicodeフィールドとして扱われます。この場合、内部属性ノードプロパティは、AlphaではなくUnicodeと表示されます。
Base64フィールド要素を持つUniocdeXML送り元がある場合、直接BLOBの宛先にマッピングできません。最初に、Base64の内容をANSIに変換する必要があります。
式エディタは完全にUnicodeベースです。
|
ODS、UDSとUnicode変換
ODSとUDS変数に蓄えられたUnicodeベースのデータは、透過的にUnicodeとして扱われ保存されます。全てのUDSとODS関数群は、透過的にUnicodeデータをサポートしています。
関連トピック