0

ボタンをクリックするだけで、生成された HTML Web ページ (「新しいページ」と呼びます) を保存できる MSIE のみの HTML ページ (「タイトル ページ」と呼びます) を作成しようとしています。

私が見つけたのは、表示される [名前を付けて保存] ダイアログ ボックスで、[新しいページ] を BOM なしの UTF-8 として保存できないことです。代わりに、Unicode(UTF-8) として保存され、ブラウザが UTF-16 であると判断します。以下は「タイトルページ」のサンプルコードです。

<html>
<head>
<script>

/** 
  *Takes the information in the form and arranges it in the proper format.
*/
function save()
{
str = "Hello World";            

mydoc = document.open();

mydoc.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");       
mydoc.write("\r\n\r\n");
mydoc.write("<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n\t<head>\r\n\r\n\r\n\r\n\r\n<!--LOOK FOR \"EDIT HERE\"//-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n\r\n<title>");

    /*Inserts str in the title*/
    mydoc.write(str);

    mydoc.write("</title>\r\n\r\n\t</head>\r\n\r\n\r\n\t<body>\r\n\r\n\r\n<!--EDIT HERE//-->\r\n\r\n<H1>");
    /*Inserts form variables from here*/
    mydoc.write(str);
    mydoc.write("</H1>\r\n\r\n\r\n<!--DO NOT EDIT BEYOND THIS POINT//-->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n</body>\r\n</html>\r\n\r\n");

mydoc.execCommand("saveAs",true,"*.html");
mydoc.close();
}

</script>
</head>


<body>
<p align=right><input type="button" value="save" onclick="save()"></p>
</body>
</html>

http://web-sniffer.net/で「新しいファイル」を確認したところ、「新しいファイル」が次のように保存されていることがわかります。

<code>ÿþ!<�D�O�C�T�Y�P�E� �h�t�m�l� �P�U�B�L�I�C� �"�-�/�/�W�3�C�/�/�D�T�D� �X�H�T�M�L� �1�.�0 �T�r�a�n�s�i�t�i�o�n�a�l�/�/�E�N�"� �"�h�t�t�p�:�/�/�w�w�w�.�w�3�.�o�r�g�/�T…&lt;/code>

私の側で「新しいページ」をUTF-16として保存しないようにするためにできることはありますか? それともコードとは関係ありませんか?

また、[名前を付けて保存] ダイアログ ボックスには、文字エンコードを変更できると思われるドロップダウンがありますが、実際には、[新しいページ] ではなく [タイトル ページ] を保存するだけです。

4

1 に答える 1

1

Notepad++ などの別のエディターでページを保存してみてください。特定のエンコーディングの設定がより明確になります。

http://download.cnet.com/Notepad/3000-2352_4-10327521.html

于 2011-03-31T16:14:48.193 に答える