• 编码导致 html和aspx 样式差异,变形


     前几天做页面,排好的html页面复制到aspx页面上就是会出现差异,比如字体定义无效,基本的表现就是怎么改样式都没显示或只有某些浏览器正常,搞了半天才发现是编码问题,DW默认新建的文件编码是gb2312的,vs默认是utf-8的,时间原因也没重新排,就在web.config的Configuration节点下对这个页面单独设置了编码。

    代码
    <?xml version="1.0"?>
     
    <configuration>
       
    <system.web>
         
    <globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8"/>
       
    </system.web>
       
    <location path="RankList.aspx">
         
    <system.web>
           
    <globalization fileEncoding="gb2312" requestEncoding="gb2312" responseEncoding="gb2312"/>
         
    </system.web>
       
    </location>
     
    </configuration>

    出现修改样式无效时通常需要做下面的几步:
      

    •   确认所修改的样式文件是否是当前页面的样式文件(多个环境的情况)
    •   确认文件中的路径是否正确(可能手误多写或少写)
    •   如果上面两点都确认没问题或只是一部分样式失效,基本可以确定是文件的编码问题


      大家都知道使用“UTF-8”比“GB2312”跨平台的兼容性更好,却不一定知道文件的编码跟文件编码的申明不是一回事,以为只要申明了文件的编码类型就是改了文件的编码,导致很多时候只是简单的申明了文件的编码类型,而并没有真的修改文件编码类型,当浏览器以申明的编码类型去解析文件时,由于文件的实际编码跟申明不同,出现解析不正确的问题。
    以上问题如何产生呢?
      只修改了申明,没有保存与申明对应的文件编码类型
      在不同文件间拷贝时,两个文件间的编码不一样
      上面的问题只要再另存一份,选择跟申明一样的编码类型即可解决。
      如果上面的方法都没有作用的话,可能就是编辑软件的问题啦,建议换个编辑器试试。

      UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。

      GBK是国家标准GB2312基础上扩容后兼容GB2312的标准。GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBD大。

      GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换:

      对于一个网站、论坛来说,如果英文字符较多,则建议使用UTF-8节省空间。不过现在很多论坛的插件一般只支持GBK。

  • 相关阅读:
    [AX]AX2012激活HTTP适配器AIF端口提示错误“The deployment web site was not found for port”
    [AX]AX2012 嵌套使用Data contract class
    [AX]AX2012 对SSRS报表参数分组
    [AX]AX2012 SSRS报表的语言本地化
    [AX]AX2012 Number sequence framework :(二)实现自定义模块的Number sequence
    [AX]AX3中使用LedgerBalanceSum计算科目余额期间发生额
    [AX]AX2012 域管理员组成员没有权限部署报表
    [C#] 在C#中使用HOOK监视鼠标消息的问题
    服务器端获取客户端信息(时间 etc..)
    MSBuild version 与 ToolsVersion 的区别
  • 原文地址:https://www.cnblogs.com/hantianwei/p/1809854.html
Copyright © 2020-2023  润新知