しかし、ActiveX Edition や C++ Edition 等では表層の文字エンコードを自動検出することができません。このような場合、英語テキストの処理では問題がないのに日本語を文字列として付与するとおかしな結果になってしまうことがあります。
このような場合のために、ActiveX Edition や C++ Edition には Config 設定項目に CodePage が追加されています。この設定を使用することで、弊社コンポーネントに渡す文字列のエンコード形式を CodePage としてコンポーネントに通知することができます。
例えば、製品コンポーネントに UTF-8 形式のデータ (バイト列) を渡す際には
component.Config("CodePage=65001")
のようにします。もしデータがおかしな化け方をしてしまう場合は、CodePage 設定をお試しください。
なお、この機能は全ての製品エディションおよび全てのビルドでご利用いただけるわけではありません。ご利用いただけるかどうかは実際の製品に依存します。本機能の利用の可否は実際にコードで当該機能を参照していただくことで分かります。
C++ の例:
printf("CodePage=%s\n",component.Config("CodePage"));
CodePage がご利用いただける製品の場合は、その時点でのコードページ番号が出力されます。ご利用いただけない場合は空文字列が返されます。ご利用いただけない場合の応答は製品エディションによっては空文字列での応答ではなくIPWorks の例外通知を利用するものもあります。これはご利用製品に依存します。
0 件のコメント:
コメントを投稿