従来のASPに問題があります。でデータを送信すると、エンコードが間違っていますXMLHttp.send
。応答はPDFファイルですが、「ÆØÅ」が間違っています。たとえば、「Ø」は「øy」と読み取られます。UTF-8からISO-8859-1への変換ミスのようですが、今はISO-8859-1になっているはずです。<%@CODEPAGE="28591"%>
ページの上部にあり、ISO-8859-1
XMLファイルのエンコードとして、ファイルが有効なISO-8859-1であることを確認しました。このデータを送信するサーバーにアクセスできませんが、同じロジックを使用するVB6プログラムで修正しました。
aPostBody = StrConv(strBody, vbFromUnicode)
WinHttpReq.SetTimeouts 100000, 100000, 100000, 1000000
WinHttpReq.Send aPostBody
また、同じロジックを使用するC#プログラムでは
// ISO-8859-1
byte[] bytes = Encoding.GetEncoding(28591).GetBytes(data);
しかし、ASPクラシックでは、文字列のエンコーディングをISO-8859-1に変更する方法を見つけるためにいくつかの助けが必要です。