none
IEはMHTMLのContent-Type charsetを無視する RRS feed

  • 全般的な情報交換

  • キャラクタセットの認識

    にも書いてありますが、httpの場合、

    1. httpヘッダのContent-Type charset

    2. metaタグのContent-Type charset

    3. default charset

    なので、mhtmlの場合、

    1. mimeヘッダのContent-Type charset

    2. metaタグのContent-Type charset

    3. default charset

    になると期待されますが、実際は、

    1. mimeヘッダのContent-Type charset

    は無視されるようです。

    そのため、MHTMLでは、

    2. metaタグのContent-Type charset

    が必須なようです。

    2013年5月14日 6:37

すべての返信

  • 再現用サンプル

    ANSIで保存。

    MIME-Version: 1.0
    Content-Type: text/html;
     charset="shift_jis"
    Content-Transfer-Encoding: 8bit

    <HTML><HEAD></HEAD><BODY>
    あいうえお
    </BODY></HTML>

    UTF-8で保存。

    MIME-Version: 1.0
    Content-Type: text/html;
     charset="utf-8"
    Content-Transfer-Encoding: 8bit

    <HTML><HEAD></HEAD><BODY>
    あいうえお
    </BODY></HTML>

    2013年5月14日 6:59
  • 読むときに無視するだけでなく、作成時も変。

    MSN Japanを保存すると見た目が変わるのはなぜ

    には、IEがアーカイブ形式で保存するときの、cssのContent-Type charsetが出鱈目であることが書いてあります。

    回避方法は、HTMLがmeta charsetなのと同様に、cssは@charsetです。

    2013年5月14日 9:32
  • 作成時に出鱈目なContent-Type charsetを出すのは、IEばかりではありません。

    CDO.Messageで

    http://technet.microsoft.com/ja-jp/scriptcenter/dd772285.aspx

    を保存すると、

    ------=_NextPart_000_0000_01CE501F.1F751C60
    Content-Type: text/css; charset=utf-8;
     charset="iso-2022-jp"
    Content-Transfer-Encoding: quoted-printable

    なんてのを出します。

    httpヘッダが

    Content-Type: text/css; charset=utf-8;

    で、それに機械的に

     charset="iso-2022-jp"

    を付加した感じですね。

    2013年5月15日 9:16