JoshChen_web格式编码UTF8-无BOM的小细节分析

但是在开发的过程中,发现一个小细节的问题,必须要打开F12才能看到的,原来,在head头部里面的所有引用的东西以及title等等,全部都跑到body里面去了,苦思冥想,百度、google全找不到答案。只好放弃了因为他并没有影响到我的功能以及页面上的样式。

而到了今天,在开发别的项目的时候,页面用到了frameset,我想大家应该都明白,frameset只有放在body外面才能使用。然而也是因为这个问题,把head里面的,以及frmaeset的内容全部跑到body里面,而且在body下还有一个空白行,结果整个页面全部显示空白,没有了想要的效果。

后来不爽的打开ThinkPHP手册,继续学习这个框架,但没有想到呀。在ThinkPHP手册里面竟然有一句话提醒了我,让我产生兴趣,立刻就想到了这个问题有可能是导致的那个原因。
贴图如下:

于是,去百度了一下BOM信息头, 下面是资料搜索出来的信息:

“PHP并不会忽略BOM,所以在读取、包含或者引用这些文件时,会把BOM作为该文件开头正文的一部分。根据嵌入式语言的特点,这串字符将被直接执行(显示)出来。由此造成即使页面的 top padding 设置为0,也无法让整个网页紧贴浏览器顶部,因为在html一开头有这3个字符呢!”

所以啊,就是因为这个问题,导致头部一直靠不上去。终于找到了解决的方法了。于是,下载了个Notepad++文本编辑器来修改我的所有PHP的文件,改完后,果断成功了。顿时开心的啊……

修改完成,保存,页面刷新。

大家再看看,头部的信息有了!!完成了!我的frameset也终于没有问题了!之前的项目也搞定了!好开心!哈哈!!

小小的程序猿就是这样,遇到点点小问题就烦烦燥燥,没耐心去解决。但是,解决了后,才发现那种兴奋,那种满足…哈,程序猿你懂哈,我们其实都很简单!

语言只能是口语化了,不专业,不要见怪,只希望大家能懂哈。

(0)

相关推荐

  • UTF8编码内的繁简转换的PHP类

    曾找过一个JS版的,但是到了UTF8编码里不能用,于是就产生了自已写一个的念头.其实我这个代码的实现原理很简单的,只是一个替换字符集的过程,相信大部份人都可以写得出来.以下是代码,不知道有没有bug,大家如果在使用上有问题,可以提出来 复制代码 代码如下: <?php //<meta charset=utf-8"> class utf8_chinese { private $utf8_gb2312; private $utf8_big5; public function __c

  • MySql修改数据库编码为UTF8避免造成乱码问题

    mysql 创建数据库时指定编码很重要,很多开发者都使用了默认编码,乱码问题可是防不胜防.制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题. 网页数据一般采用UTF8编码,而数据库默认为latin .我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题. 我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来 我们可以通过命令查看数据库当前编码: mysql> SHOW VARIABLES LIKE 'character%'

  • ASP关于编码的几个有用的函数小结(utf8)

    1.'UTF转GB---将UTF8编码文字转换为GB编码文字 复制代码 代码如下: function UTF2GB(UTFStr) for Dig=1 to len(UTFStr) '如果UTF8编码文字以%开头则进行转换 if mid(UTFStr,Dig,1)="%" then 'UTF8编码文字大于8则转换为汉字 if len(UTFStr) >= Dig+8 then GBStr=GBStr & ConvChinese(mid(UTFStr,Dig,9)) Dig

  • PHP UTF8编码内的繁简转换类

    曾找过一个JS版的,但是到了UTF8编码里不能用,于是就产生了自已写一个的念头.其实我这个代码的实现原理很简单的,只是一个替换字符集的过程,相信大部份人都可以写得出来.以下是代码,不知道有没有bug,大家如果在使用上有问题,可以提出来 复制代码 代码如下: <?php //<meta charset=utf-8"> class utf8_chinese { private $utf8_gb2312; private $utf8_big5; public function __c

  • PHP截断标题且兼容utf8和gb2312编码

    复制代码 代码如下: <?php if(strlen($r[title])>45){$str=utf8Substr($r[title],0,15)."...";}else{$str=$r[title];}echo $str; ?> //截取utf8字符串 function utf8Substr($str, $from, $len) { return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.

  • js 编码转换 gb2312 和 utf8 互转的2种方法

    方法一: 复制代码 代码如下: function gb2utf8(data){       var glbEncode = [];       gb2utf8_data = data;       execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");       var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.

  • utf8编码检测方法分享

    复制代码 代码如下: public bool isUtf8(byte[] rawText)        {            bool result = true; if (rawText == null)            {                return !result;            } int pos = 0;            while (pos < rawText.Length && result)            {     

  • PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码

    老声长谈,着是困惑很多人的问题,如果处理不好,都是乱码,说这些话并不是我对编码很精通,只是在这方面是得留神,自己总结了一点小经验(容易出现乱码的地方有php文件里面 ,数据库里面 存储 的编码 ,页面显示 ,数据传输 ): 1.在建数据库的时候,尤其是用phpMyAdmin与MYSQL打交道时候,一般都是utf-8,字段为 utf8_general_ci 数据库的设置: 在my.ini文件中查找:[mysql]default-character-set = utf8[mysqld]default

  • 真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )

    复制代码 代码如下: /* * 功能: 作用跟substr一样,除了它不会造成乱码 * 参数: * 返回: */ function utf8_substr( $str , $start , $length=null ){ // 先正常截取一遍. $res = substr( $str , $start , $length ); $strlen = strlen( $str ); /* 接着判断头尾各6字节是否完整(不残缺) */ // 如果参数start是正数 if ( $start >= 0

  • 多种语言(big5\gbk\gb2312\utf8\Shift_JIS\iso8859-1)的网页编码切换解决方案归纳

    1.response.setContentType("text/html; charset=GB2312"); 或者response.setContentType("text/html; charset=UTF-8"); charset前面留一个空格 2.头文件包含 3. 一般处理是将在网页上提交的中文转码为Unicode存储在数据库中,取出来的 时候,用自动转码(ContentType="text/html;charset=gb2312"或Co

  • Mysql数据库编码问题 (修改数据库,表,字段编码为utf8)

    因为utf8字符集是目前最适合于实现多种不同字符集之间的转换的字符集,尽管你在命令行工具上可能无法正确查看数据库中的内容,我依然强烈建议使用utf8作为默认字符集接下来是完整的一个例子: 1.创建数据库表 mysql>CREATE DATABASE IF NOT EXISTS my_db default charset utf8 COLLATE utf8_general_ci; #注意后面这句话 "COLLATE utf8_general_ci",大致意思是在排序时根据utf8校

  • 查看修改mysql编码方式让它支持中文(gbk或者utf8)

    MySQL的默认编码是Latin1,不支持中文,要支持中文需要把数据库的默认编码修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为: >show variables like 'character%'; +--------------------------+----------------------------+ | Variab

  • 基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)

    php导入到excel乱码是因为utf8编码在xp系统不支持所有utf8编码转码一下就完美解决了utf-8编码案例Php代码 复制代码 代码如下: <?php header("Content-Type: application/vnd.ms-excel; charset=UTF-8"); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: m

  • XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)

    在数据发送一方,利用 javascript 的 escape 函数事先将所有中文转换成英文编码并保存(也可以用 ASP 等其它语言的函数实时转换输出). 在数据接收一方,利用 javascript 的 unescape 函数将所有英文编码还原. 由于 Ajax 不论任何编码都能正常传送英文,所以用这种方法可以轻松解决. -------------------------------------------------------------------------------- 用XMLHTTP

  • php验证手机号码(支持归属地查询及编码为UTF8)

    复制代码 代码如下: <?php // 手机号验证 function checkMobileValidity($mobilephone){ $exp = "/^13[0-9]{1}[0-9]{8}$|15[012356789]{1}[0-9]{8}$|18[012356789]{1}[0-9]{8}$|14[57]{1}[0-9]$/"; if(preg_match($exp,$mobilephone)){ return true; }else{ return false; }

  • Oracle将字符编码从GBK转到UTF8,如何操作比较稳妥?

    朋友问: 有个学校oracle数据库的编码是GBK,而且库里边已经有很多生产数据了,现在想改成UTF8的,如果执行了这步操作,会出现哪些问题? 我的回答: 因为utf8的库中文占3个byte,gbk占2个byte,所以会出现客户端乱码. 比较稳妥的方案是,再搭建一个oracle环境,设置成utf8编码,把旧的oracle数据迁移到新的utf8编码的oracle库中的环境. oracle群里面peter的回答: 官方的方法是新建一个utf8的库再导入. 直接改内部视图的办法是错的,从不这样用,也不

  • PHP 截取字符串 分别适合GB2312和UTF8编码情况

    1. 截取GB2312中文字符串  复制代码 代码如下: <?php //截取中文字符串 function mysubstr($str, $start, $len) { $tmpstr = ""; $strlen = $start + $len; for($i = 0; $i < $strlen; $i++) { if(ord(substr($str, $i, 1)) > 0xa0) { $tmpstr .= substr($str, $i, 2); $i++; }

  • php字符编码转换之gb2312转为utf8

    在php中字符编码转换我们一般会用到iconv与mb_convert_encoding进行操作,但是mb_convert_encoding在转换性能上比iconv要差很多哦.string iconv ( string in_charset, string out_charset, string str ) 注意:第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符

随机推荐