BOM

2008-11-29 16:21

BOM(Byte Order Mark)是Unicode规范中推荐的标记字节顺序的方法。

在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符”ZERO WIDTH NO-BREAK SPACE”。

这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符”ZERO WIDTH NO-BREAK SPACE”又被称作BOM。

UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符”ZERO WIDTH NO-BREAK SPACE”的UTF-8编码是EF BB BF(读者可以用我们前面介绍的编码方法验证一下)。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。

Windows就是使用BOM来标记文本文件的编码方式的。

在使用UTF-8对字符进行编码时,windows的记事本保存时会对其内容自动加上BOM。该行为会导致一些问题,最常见的莫过一些莫名其妙的空白行了。在PHP中使用include函数包含一个PHP文件时,空白行就有可能产生,然后就会对页面的样式产生影响,所以windows自带的记事本并不是一款值得依赖的文本编辑器。

Dreamweaver中除去BOM的方法:ctrl+J -> 标题/编码 -> 取消”包括Unicode签名(BOM)”选择。

相关阅读:http://blog.csdn.net/ywchen2000/archive/2007/10/26/1844657.aspx

Gmail theme

2008-11-21 10:40

昨天就听说gmail支持theme了,结果我在“设置”菜单里找了好几圈也没找到~···

刚才再进去,果然有了~···不过新增的theme都不太合我胃口,还是原来浅蓝色舒服~···“银色曙光”和我的wp theme有点像,不过用在gmail有点丑~···

BTW:百度这几天焦头烂额啊~

求医

2008-11-19 17:45

长这么大自己终于去挂号看了次医生,还是个三级甲等的。去之前我想它牌子这么NB,他再怎么都会给我说点东西吧,结果大失所望!

下午2点全楼准时停电,所以提前下班,我也好去看下我左手肘关节,这两三个星期一直酸痛,无法正常屈伸。昨晚先在楼下一个小医院看了下,医生大哥很认真的告诉我是骨质增生~···说让我去大医院照个片检查一下,把我雷了一下。我虽然一点都不相信他,但是我更不相信我自己。小心使得万年船,所以还是打算去看看。

我就不提一个三级甲等医院不说普通话这件事情了,我蛮以为这些个NB的医生不拍片也能说出个道道来,结果没说两句话,就叫我去照片。既然来了,照吧。我也不提这么大一个医院,只有一个缴费的地方了这么BT的事情了,排了差不多一个小时的队才把钱交上。然后照X光,等了10来分钟,取结果单。一切正常,狗P的骨质增生。然后又回去找那个“叫兽”,说什么我反正是忘了,因为我基本没听明白几句,然后就给我开了个外敷的药~···然后就又是排队交钱,然后取药~我才没那么2,我瞟了一眼排队的长龙,就立马闪了。然后找了个药店买了点跌打损伤的药,慢慢养着吧~···我没猜错的话应该是前段时间拉F的弹簧拉力器伤到筋了~···

以后每天真的要安排时间锻炼身体了,天天坐着早晚会出问题~···

再玩PHP

2008-11-13 13:45

上一次玩PHP是在遥远的半年前的毕业设计,然后就是一个畸形儿,然后就导致我毕业答辩做了两次~···往事不堪回首~···这次还是给别人做了个小站,做完后都心有余悸~···半年之后忘光光,基本是边翻手册边做的。记下来免得以后到处翻~···(PHP高手请绕道~)

PHP-MySQL

首先建立一个到MySQL服务器的连接:

$link = mysql_connect(’数据库所在位置’,’数据库账号’,’数据库密码’);

当没有提供可选参数时使用以下默认值:server=’localhost:3306′,username=服务器进程所有者的用户名,password=空密码。

连接数据库:

上面只是连接到MySQL,而没有连接到具体的数据库,所以需要连接到数据库才能进行相关操作。

mysql_select_db("数据库名","mysql连接名");

如果数据库连接成功就可以执行sql命令进行相关的数据库操作了:

$result = mysql_query("select * from user",$link);

如果没有指定$link,则使用上一个打开的连接。如果没有打开的连接,会尝试无参数调用mysql_connect() 函数来建立一个连接并使用之。查询结果会被缓存。

数据查询结果(针对有结果的sql操作):

while ($row = mysql_fetch_row($result)) {
  echo $row['field'];
}

也可以这样:

while ($row = mysql_fetch_row($result)){
  for($i=0;$i<count($row);$i++){
    echo $row[$i];
  }
}

操作完成后最好释放无用的资源以提高系统性能:

mysql_free_result($result);
mysql_close($link);

文件上传(POST)

首先表单需设置属性:enctype=”multipart/form-data”,否则文件无法上传。

$_FILES数组:

  • $_FILES['userfile']['name'] 客户端机器文件的原名称。
  • $_FILES['userfile']['type'] 文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。
  • $_FILES['userfile']['size'] 已上传文件的大小,单位为字节。
  • $_FILES['userfile']['tmp_name'] 文件被上传后在服务端储存的临时文件名。
  • $_FILES['userfile']['error'] 和该文件上传相关的错误代码。此项目是在 PHP 4.2.0 版本中增加的。

文件被上传后,默认地会被储存到服务端的默认临时目录中,除非php.ini中的upload_tmp_dir设置为其它的路径。服务端的默认临时目录可以通过更改PHP运行环境的环境变量TMPDIR来重新设置,但是在PHP脚本内部通过运行putenv()函数来设置是不起作用的。该环境变量也可以用来确认其它的操作也是在上传的文件上进行的。

使文件上传生效

is_uploaded_file 判断文件是否是通过HTTP POST上传的。

move_uploaded_file(string filename, string destination) 本函数检查并确保由filename指定的文件是合法的上传文件(即通过PHP的HTTP POST上传机制所上传的)。如果文件合法,则将其移动为由destination指定的文件。

md5加密

PHP中有现成的函数——string md5( string str [, bool raw_output]),raw_output默认为false,函数返回32位字符串,如果将其设置为true则返回16位字符。

session

首先使用session_start()启用session,然后就可注册变量了,$_session['login'] = true,然后就可以跨页面访问该session变量了~···

中文编码问题

所有页面和数据库均使用的utf8编码,但是中文数据在phpmyadmin总总显示乱码,能正确读取,这个问题从一开始就搞到我崩溃,最后修改phpMyAdmin\libraries\select_lang.lib.php数组$GLOBALS['mysql_charset_map']中’utf-8′=> ‘latin1′才算搞定~···(感谢TZ~)

关于JSON部分看这里

over~···

单身倍好,光棍万岁!

2008-11-11 19:29

又是一年光棍节,去年的这个时候我还是在CSU的后街过着十分糜烂的生活~···

今年的今天一如既往的很平淡地度过,本来打算庆祝下,结果这几天实在太冷,难得去超市买东西,喝酒也没气氛,还是算了~···

上午我一不留神去WC一下,就错过了11:11:11的白金时间,痛不欲生!

广州的冬天也到了,厚衣服洗衣机估计没法洗了,我得亲自动手洗衣服了。F和RZ天天都有MM把衣服洗的干干净净的,恩,在那么一刹那,我除了悄悄的羡慕一下还是会有一点不成熟的想法~··· :)

闪~看PB去~···

Page 1 of 212