DOMParserがエンコードに反応しない?為に文字化けするのだが、これってどうすればいいのだ?


地のページはutf-8でエンコードされており、
クロスドメインでXML(rss)を取ってくるのだが、これがShift_JISでエンコードされている。
当然頭には <?xml version="1.0" encoding="Shift_JIS" ?> と書かれている。
Shift_JISのrss単体を別タブで開くとちゃんと読めるが、utf-8のページから取得すると読めない。

utf-8でエンコードされている他サイトのrssは普通に読める。
DOMParserにはエンコードを指定する方法がない。
というより頭に書いてるので自動で切り替わると勝手に信じていたが、そうなってないようだ。
document の inputEncording、characterSet, charset は全て UTF-8 となっている。
ただ、xmlEncodingは Shift_JIS となっているので、全く反応していないわけではないようだ。
なお正しく動くutf-8のrssの場合は、xmlEnfording も UTF-8 となっている。

TextDecoder で何とかしようと文字化けしている文字列に対し charCodeAt や codePointAt で Uint16Array に変換してみたが、
65533(0xfffd)がやたら多いので、そもそもDOMStringに上手く入っていないっぽい。
これはどうすればいいのだ?