北大青鳥學校:如何處理asp.net中include UTF8的垃圾問題

      北京北大青鳥學校學術部老師發現,在指導同學們用utf-8編碼做網站時,很多同學都會遇到IE下莫名其妙的空出一行,大家用肉眼看不見,也就是 UTF-8 BOM 簽名了,更多 BOM 知識請查找“Unicode BOM”。這種情況該怎么辦?我們不妨看看北大青鳥學員:周曉麗同學是如何做的。

      先介紹一下項目架構:IIS + .net 2.0 + SSI

      暫且不討論為什么要用 SSI,而不用其它技術(如 UserControl)

      生成 index.shtml 肯定要帶 BOM,其實帶不帶也不會影響頁面上會出現空白行。

      index.shtml 內容如下:
      < html>
      < body>
      < !--#include file=head.shtml-->
      < /body>
      < /html>

      1、head.shtml 保存為 UTF-8 帶    BOM 時,會出現空白行(頁面元素當然不止這些)。

      2、head.shtml 保存為 UTF-8 不帶 BOM 時,會出現亂碼,因為 SSInc.dll 加載這個文件時,不知道文件的編碼(因為沒有 BOM 簽名),因此會按 GBK 來加載文件,最后亂碼。所以,正也不行,反也不行,只有最后一招了。(北京北大青鳥學校

      改 index.shtml 為:
      < html>
      < body>
      < !--<!--#include file=head.shtml-->
      < /body>
      < /html>

      在 head.shtml  的頁開頭加上
      <!--BOM-->
      內容。

      意圖將 <!--#include 前的 <!-- 和 head.shtml 里的 BOM--> 用HTML注釋掉,在 asp 下應該沒有問題。
      2年前,用 asp.net include 就發現一個問題,就是它的解釋方法和 asp 完全不同,不信可以試試

      < !--<!--#include file=head.shtml-->執行結果等效于
      < !--#include file=head.shtml-->

      又試了半個小時,發現
      < !--#<!--#include file=head.shtml-->
      被忽略,期待更好的解決方案。北京北大青鳥學校提供。

      北大青鳥網上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 深田咏美AV一区二区三区| 波多野结衣中文字幕一区二区三区| 无码人妻一区二区三区兔费| 色婷婷AV一区二区三区浪潮| 欧美日韩综合一区二区三区| 无码人妻精品一区二区| 国产一区二区三区精品视频| 精品免费AV一区二区三区| 日韩精品一区二区三区老鸦窝| 精品国产一区二区三区久久久狼| 美女福利视频一区| 久久精品国产一区二区三| 久久99国产精品一区二区| 久久99精品免费一区二区| 亚洲成人一区二区| 中文字幕一区二区区免| 中文字幕一区在线观看| 日本一区二区三区高清| 国产激情一区二区三区成人91| 亚洲第一区精品观看| 精品无码综合一区| 日本精品一区二区三区在线观看| 亚洲av无码一区二区三区网站| 亚洲av日韩综合一区在线观看| 日韩精品一区二区亚洲AV观看| 秋霞午夜一区二区| 亚洲一区中文字幕在线观看| 高清精品一区二区三区一区| 无码中文人妻在线一区| 在线|一区二区三区| 福利视频一区二区牛牛| 精品乱子伦一区二区三区高清免费播放| 久久精品无码一区二区app| 国精品无码一区二区三区在线| 日韩电影一区二区三区| 在线精品亚洲一区二区| 免费精品一区二区三区在线观看| 天天爽夜夜爽人人爽一区二区 | 韩国精品一区二区三区无码视频 | 亚洲一区精彩视频| 曰韩人妻无码一区二区三区综合部 |