Unicode文字のマッピングがターゲットのマルチバイトコードページにありません

漫画雑誌の休載情報を手っ取り早く知りたくてscriptを組んだが、「Unicode文字のマッピングがターゲットのマルチバイトコードページにありません」というタイトル通りのエラーがResponseTextで返るページがある。しかも毎回ではなくエラーが出たり出なかったり。文字コードの問題か。でもhtmlでもヘッダーでもUTF-8となってる。そもそも正常に取得出来る時もあるんだから問題ないはずだ。困り果てて取り敢えずレスポンスヘッダーを眺めてたら、エラーが返る時は必ず

Content-Encoding:gzip

となってる事に気づいた。ひょっとして原因はこれではないのか。エンコードされているデータをテキストデータとして解釈しているのでは。文字コードとはバイト列と文字列の相互変換ルールだ。変換の定義テーブルに該当するバイト列がないという意味か。だったらエンコードされてないデータをくれるように言えば良いのだ。調べると

Accept-encoding:identity

とリクエストヘッダーに設定すれば良いらしい。しかしこれでもまだgzipで返ってくるじゃん!この時点でもうサーバーの方がおかしいのだがこちらにはどうしようもないので何とか対策するしかない。しぶしぶWinHTTPの説明を読むとgzipとdeflateはサポートしていませんとはっきり書いてある。どうしようもないじゃん。仕方ないのでMsxml2.XMLHTTPで処理する事にした。解決と言えば解決したが何か釈然としない。