文字コードの件一応分かりました。

expatの出力がUTF-8らしいって事で
SJIS→UTF-8→パース→UTF-8→SJIS
って感じでなんとか読めるようになりましたが、こんな感じでいいんですかね?
なんとなく、ISO-8859-1で読み込んでUTF-8→ISO-8859-1ってやればいいような気が
しないでもないですが、UTF-8→ISO-8859-1の変換ロジックが分からないので試してません。