none
IXMLHTTPRequestPtr->get_responseText で UTF8 の文字が文字化けする RRS feed

  • 質問

  • Yahoo Finance の TOPIX の株価指数の時系列データを取得するプログラムを Visual Studio 2002 C++ で作成し実行しましたが、
    一部のパソコンで、下記のように文字化けしてデータが取得できません。
    どのようが原因が考えられますでしょうか。
    ご教授をお願いします。

    Ⅰ.文字化けデータ 日本語部分が ????? になっている。
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd...
    <html lang="ja">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Style-Type" content="text/css">
    <meta http-equiv="Content-Script-Type" content="text/javascript">
    <meta name="description" content="TOPIX?998405?????????????????????????????????????????????-Yahoo!??????">
    <meta name="keywords" content="??,????,????,??,????,????,??,???,??,?????,Dow,NASDAQ">
    <meta http-equiv="Refresh" content="180">
    <title>TOPIX?998405?:??/?? - Yahoo!??????</title>
    <link rel="stylesheet" href="http://i.yimg.jp/images/finance/common/css/master-finance3.css?date=20140107...type="text/css" media="all">

    Ⅱ.正常に受信できた場合
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd...
    <html lang="ja">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Style-Type" content="text/css">
    <meta http-equiv="Content-Script-Type" content="text/javascript">
    <meta name="description" content="TOPIX【998405】の株価、チャート、ニュースをご覧いただけます。株価、株式など投資やマネーの総合情報サイト-Yahoo!ファイナンス">
    <meta name="keywords" content="株価,チャート,日経平均,銘柄,投資信託,外国為替,ドル,ユーロ,ダウ,ナスダック,Dow,NASDAQ">
    <meta http-equiv="Refresh" content="180">
    <title>TOPIX【998405】:株式/株価 - Yahoo!ファイナンス</title>
    <link rel="stylesheet" href="http://i.yimg.jp/images/finance/common/css/master-finance3.css?2014010...type="text/css" media="all">

    Ⅲ.正常受信できないパソコン
    Windows7の64ビット
    Internet Explorer10

    Ⅳ.作成したプログラム(抜粋)
    #import "msxml3.dll"
    using namespace MSXML2;

    void Topix()
    { IXMLHTTPRequestPtr pIXMLHTTPRequest = NULL;
     BSTR bstrString = NULL;
     HRESULT hr;

     hr = pIXMLHTTPRequest.CreateInstance("Msxml2.XMLHTTP");
     hr = pIXMLHTTPRequest->open("GET", _bstr_t(Url), false);
     hr = pIXMLHTTPRequest->send();
     hr = pIXMLHTTPRequest->get_responseText(&bstrString);
    }

    2014年1月8日 5:05