2012-02-07 16 views
1
Dim http As WinHttpRequest 
Set http = New WinHttpRequest 
http.open "POST", "test.php", False 
http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
http.send "txtmbx=test" 
msgbox(http.responsetext) 

http.responsetextはキリル語で、私はテキストを読むことができません。キリル文字を取得するにはどうすればよいですか?キリル文字のレスポンステキストを得るには

答えて

0

WinHTTPRequestはエンコード方式をサポートしていませんが、明示的には言及していませんが、受信バイトデータから文字列に変換するときは、システムのデフォルトコードページCP_ACPが使用されます。

ResponseBodyメソッドを使用してデータをバイト配列として取得し、StrConvを使用して文字列に変換することができます。

+0

私は正しい方向に私を導いてくれてありがとうございました。私の文字列をバイト配列に入れ、responsebodyとstrConvを使用すると、メッセージボックスを表示するとまだメッセージが読めなくなりますが、テキストファイルに、htmlを実行すると文字はうまくいきます。私はADO Streamオブジェクトを使ってutf8バイトを文字列に変換します。ありがとうございます –

+0

これにADOを使用することは、非常に面倒です。実際には、[MultiByteToWidechar()](http://www.vbforums.com/showthread.php?t=33525)を使用する必要があります。 – Deanna

関連する問題