Interstage Application Server Smart Repositoryユーザーズガイド |
目次
索引
![]() ![]() |
第1章 Smart Repositoryアプリケーション作成の基礎知識 |
DNに特殊文字を指定するには、その特殊文字の前に“\”(エンマーク)を置いてエスケープするか、または“"”(ダブルクォーテーション)で囲む必要があります。
エスケープが必要な特殊文字を以下に示します。
エスケープが必要な特殊文字を含むDNを指定する場合の例を以下に示します。
cn=a\b,o=Fujitsu, Inc.,c=jp
SDK(C API)の場合
LDAP、C言語それぞれで、“\”(エンマーク(バックスラッシュ))文字を特殊文字と扱います。いくつか例を示します。
“\”を含むcn属性を指定するとします。
a\b
LDAPの規約により“\”をエスケープする必要があります。
cn=a\\b
C言語の仕様により、この名前を指定するために、それぞれの“\”をエスケープする必要があります。
char *name1 = "cn=a\\\\b";
同様に、“,”(カンマ)、“"”(ダブルクォーテーション)の場合はそれぞれ次のようになります。
char *name2 = "cn=a\\,b"; char *name3 = "cn=a\\\"b";
最初の例をC言語で使用する場合は、次のように記述します。
char *name = "cn=a\\\\b,o=Fujitsu\\, Inc.,c=jp";
SDK(JNDI)の場合
LDAP、JNDI、Java言語それぞれで、“\”(エンマーク(バックスラッシュ))文字を特殊文字と扱います。いくつか例を示します。
“\”を含むcn属性を指定するとします。
a\b
LDAPの規約により“\”をエスケープする必要があります。
cn=a\\b
JNDIの仕様により、この名前を指定するために、それぞれの“\”をエスケープする必要があります。
cn=a\\\\b
Java言語の仕様により、この名前を文字列リテラルとして指定するために、それぞれの“\”をエスケープする必要があります。
String name1 = "cn=a\\\\\\\\b";
同様に、“,”(カンマ)、“"”(ダブルクォーテーション)の場合はそれぞれ次のようになります。
String name2 = "cn=a\\\\,b"; String name3 = "cn=a\\\\\"b";
最初の例をJNDIで使用する場合は、次のように記述します。
String name = "cn=a\\\\\\\\b,o=Fujitsu\\\\, Inc.,c=jp";
SDKでは、DNおよび属性値に日本語を含む文字列を指定することができます。
SDK(C API)の場合
UTF-8形式に変換するための関数を使用してUTF-8形式に変換する必要があります。
詳細については、“リファレンスマニュアル(API編)”の“Smart Repositoryインタフェース”-“コード変換インタフェース”を参照してください。
SDK(JNDI)の場合
特に意識する必要はありません。
目次
索引
![]() ![]() |