当前位置: 首页 > news >正文

关于shtml页面include问题解决方案

这几天再做站点静态化工作,本以为很简单的事情,不想实际实现过程中还是遇到了些小问题
 
页面上有一些是公用嵌套页如head.inc,bottom.inc等,为了修改维护方便决定使用shtml的include来解决,随之问题来了
 
<!--#include file=”head.inc”-->这样包含后发现页面上会出现一个空行,网上查资料后发现是因为utf-8的BOM头引起的,于是测试结果如下
head.inc编码为utf-8有bom时
*.aspx页面<!--#include file=”head.inc”-->没有任何问题
*.shtml页面<!--#include file=”head.inc”-->在引用的地方会出现一个空行
head.inc编码为utf-8无bom时
*.aspx页面<!--#include file=”head.inc”-->页面出现乱码
*.shtml页面<!--#include file=”head.inc”-->没有任何问题
google了一番,找到如下解决方案,希望对遇到此问题的朋友有所帮助
解决方案1.
1.修改head.inc编码格式为utf-8无bom
2.配置文件中添加以下节点
  <system.web>
   <globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8"/>
  </system.web>
  这里最主要的是fileEncoding="utf-8"可以解决.aspx文件include的乱码问题
  下面是用c#创建无bom的utf8编码文件方法(默认创建的文件都是utf-8+bom的)
System.Text.UTF8Encoding utf8=new System.Text.UTF8Encoding(false);
            using (StreamWriter sr = new StreamWriter(filePaht, false, utf8))
            {
                sr.Write(fileContet)
            }
 这样以后indclude的空行和乱码问题就都解决了
 
解决方案2.
head.inc文件编码为utf-8+bom(这样可以避免.aspx文件include的乱码问题)
在需要include地方这样写
<!--#<!--#include file="head.inc"-->
在需要include的文件中如head.inc头部加上一段注释如:<!--bom-->
这样以后可以实现同样效果
ps:这种方式时需要添加注释的地方必须在head.inc顶部,不可以这样写<!--#<!--#include file="head.inc"--><!--bom-->
 

相关文章:

  • 【转载】我的code review规则
  • Silverlight 结构分析
  • WebStorm 2.1 发布,超强JavaScript编辑器
  • 软件工程师,你真的喜欢你的工作吗?
  • 卡巴斯基提醒网民注意:压缩文件也能变木马
  • 简单评价各种排序算法的优劣
  • 50、linux shell命令,netstat,traceroute
  • 在兄弟连的感受
  • BB进度
  • jQuery右键菜单插件ContextMenu
  • AssionShop开源B2C电子商务系统-定单流程活动图状态图(转)
  • 扩展方法的定义及使用
  • 用Restful方式调用WCF进行上传下载(转)
  • 飞雪桌面日历注册码
  • 趋势科技:Web2.0网站将成黑客首要攻击目标
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 《深入 React 技术栈》
  • chrome扩展demo1-小时钟
  • css属性的继承、初识值、计算值、当前值、应用值
  • docker python 配置
  • es6要点
  • ESLint简单操作
  • js ES6 求数组的交集,并集,还有差集
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • Spring Boot快速入门(一):Hello Spring Boot
  • springMvc学习笔记(2)
  • ViewService——一种保证客户端与服务端同步的方法
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 代理模式
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 力扣(LeetCode)22
  • 通过git安装npm私有模块
  • 用Python写一份独特的元宵节祝福
  • 智能合约Solidity教程-事件和日志(一)
  • elasticsearch-head插件安装
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​插件化DPI在商用WIFI中的价值
  • #define、const、typedef的差别
  • $.ajax中的eval及dataType
  • %@ page import=%的用法
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (Oracle)SQL优化技巧(一):分页查询
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (强烈推荐)移动端音视频从零到上手(下)
  • (译)2019年前端性能优化清单 — 下篇
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • ./和../以及/和~之间的区别
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】