[MSXML] MSXML のエラー メッセージ HRESULT C00CE56E "指定したエンコードはシステムでサポートされていません。"

この記事は、以前は次の ID で公開されていました: JP304625
現象
XMLHTTP または IXMLDocument::Load を使用して、リモートの XML ドキュメントを Web サーバーから読み込むと、次のエラー メッセージが表示されることがあります。
HRESULT C00CE56E
指定したエンコードはシステムでサポートされていません。
このエラーは、Java ベースの中間層アプリケーション フレームワークを使用している場合に多く見られます。
原因
バージョン 2.6 の時点の MSXML では、すべての XML ドキュメントは Mlang.dll を通過し、エンコーディングが検証されます。Mlang.dll で標準以外のエンコーディング文字列が検出されると、エラーが返されます。

Java 言語およびクラス ライブラリでの、ラテン-1 文字エンコーディング文字列の標準の表記は、"ISO8859_1" です。一方、Internet Assigned Numbers Authority が定める標準は "ISO-8859-1" で、"ISO8859_1" は非公認の別名です。
解決方法
この問題を解決するには、次のいずれかを実行します。
  • 関連する Java サーバー環境の文字エンコーディング文字列を、"ISO8859_1" から "ISO-8859-1" に変更します。または

  • IXMLDOMDocument::get_responseBody を使用して、データを未処理のバイトのバッファとして取得します。Microsoft Visual C++ でアプリケーションを開発する場合は、データに対する HGLOBAL ハンドルを定義して CreateStreamOnHGlobal を使用し、データ処理を容易にすることもできます。
状況
この動作は仕様です。
関連情報
詳細については、次の Web サイトを参照してください。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 304625 (最終更新日 2001-11-05) をもとに作成したものです。

プロパティ

文書番号:304625 - 最終更新日: 05/01/2003 02:36:00 - リビジョン: 2.1

Microsoft XML Parser 2.6, Microsoft XML Parser 3.0, Microsoft XML Parser 3.0 Service Pack 1, Microsoft XML Core Services 4.0

  • kbmsxml260 kbie550 kbintl kbprb KB304625
フィードバック