harukazepc’s blog

インターネッツとAndroidなどが大好きです。あとは日々のことなど。

XML表示時に「指定したエンコードはシステムでサポートされていません。」と言われる

表題の件。IEで自作XML(jsp製)を表示したら、以下のエラーがでた。
ajaxflash等の処理にも、このままだと影響がある(気がする、IEでの実行時

XML ページを表示できません 
スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。 


                                                                                                                                                              • -
指定したエンコードはシステムでサポートされていません。リソース 'http://xxx.yyy.zzz/aaa/bbb/ccc/ddd' の実行エラーです。

この場合、XML中のエンコード指定()自体に問題がある場合もありますが、自分の場合は違ったです。

原因は、HTTPレスポンスヘッダ内の charset 指定でした。以下レスポンス詳細例。

HTTP/1.0 200 OK
Date: Wed, 18 Feb 2009 02:29:16 GMT
Server: Apache
Content-Length: 128
Content-Type: text/xml;charset=Windows-31J
Proxy-Connection: keep-alive



...

JSP的には、こんな感じ。

<%@page contentType="text/xml; charset=Windows-31J" language="java" import="java.util.*"%>
...

...

java脳で「Windows-31J」って思って、レスポンスのcharsetもそうやってしまいがちですね。。。

© harukazepc️