六月
25

PHP中xajax库中文问题及提示返回XML文件无效的解决办法

Author Dominic    Category PHP     Tags , , ,

xajax是PHP下一个非常好的ajax框架,虽然xajax自己说自己是一个库(Library),但是我觉得它更像一个框架(Framework)。xajax是一个开源的 类库 它能够让你黏合HTML、、Javascript和PHP,并可以结合Smarty模板系统使用。

在运用Xoops的Page模组的时候,发现其不能和中文正常工作,特别是不能和UTF-8编码的页面一起工作,昨天在利用这个实现DataGrid的时候发现完全不能正常工作了,一直报“the XML response that was returned from the server is invalid”这个错误,Google了一下,发现不少人也有这个问题。结合之前解决Xoops的Page模组(感谢文明猪)的UTF-8使用问题的方法,终于发现了完美解决xajax库使用中文的方法。

如果页面采用GB2312或GBK作为编码或字符集,一般网络上面提到的方法可以解决:需要注意的是common.php、server.php及server.php用到的php文件(特别是生成数据的文件)全部不要使用UTF-8编码格式保存而使用ASCII格式保存。同时server.php输出的数据内容最好也采用gb2312
在common.php前面定义
define(‘_DEFAULT_CHAR_ENCODING’,'GB2312′);
再在调用时使用:
$xajax = new xajax();
$xajax->decodeUTF8InputOn();
或者
$xajax = new xajax(‘gb2312′);
$xajax->setCharEncoding();
$xajax->decodeUTF8InputOn();
$objResponse = new xajaxResponse(‘gb2312′);

如果页面采用UTF-8字符集的话,网上一些人说使用UTF-8格式编码就可以了,实际上即使全部使用UTF-8编码也不能正常工作,还是会报错:“the XML response that was returned from the server is invalid”。联想到之前在IE下碰到UTF-8 BOM Bug(文章:IE下页面无端端空出一行及utf8页面无法显示的解决方法 ),会不会这个地方服务器传回的XML文件中也包含多个UTF-8 BOM内容呢?通过ethereal截获数据包发现,服务器返回的内容中还真是包含了多个UTF-8 BOM,可能还是IE使用的Microsoft XML Parser的UTF-8 BOM Bug吧。这样解决办法就出来了:所有页面全部采用UTF8编码并使用无UTF-8 BOM保存(UltraEdit 操作方法:F12或另存为界面中格式下拉框选择‘UTF-8-无 BOM’),页面包括xajax库文件、common.php文件、server.php文件。供访问的页面也可以使用无UTF-8 BOM保存。

有时候返回的参数(特别是中文部分)被url编码了,这个时候需要我们将返回的数据使用Urldecode进行处理,以便能够正常完成后面的数据库操作。

最新xajax 0.25下载地址:http://prdownloads.sourceforge.net/xajax/xajax_0.2.5.zip?download

xajax中文手册(HonestQiao第一版,FlyingHail修改版) http://www.flyinghail.net/?p=44

UTF-8 BOM解释:”EF BB BF” 这三个字节就叫BOM,BOM的全称叫做”Byte Order Mard”。在UTF-8文件中常用BOM来表明这个文件是UTF-8文件,而BOM的本意实在UTF-16中用来表示高低字节序列的。

另外,PHP网站上说使用–enable-zend-multibyte可以解决这类问题,不过没有尝试,并且预计在PHP 6.0中会对Unicode做完美的支持。

六月
25

《CSS禅意花园》一书中提及的有用链接

整理《CSS禅意花园》一书中提及一些有用链接,主要是从Note和Tips以及附录中摘要出来。

CSS一些资料参考页面:

CSS设计类站点:

六月
23

读《CSS禅意花园》

Author Dominic    Category 读书     Tags ,

终于将这本号称“Web视觉艺术设计的王者之书”看完,《CSS禅意花园》由人民邮电出版社于2007年6月份出版,先前看过英文版,这次出中文版也就买一本来看看。个人觉得这个书基本上是用来展示CSS禅意花园http://www.csszengarden.com的36件作品,用来说明CSS的强大。对于作为偏向程序的我来说其还达不到所宣称的“无设计知识,亦能运用自如”,或许本来就对CSS有所了解,书中对实际的CSS做法提到不是很多,某种程度上讲,这本书是站在页面设计师的角度来讲述一件通过CSS来控制的HTML文件的设计过程。

整本书通过CSS禅意花园网站上面的作品来传授设计师在页面设计、CSS布局、图像运用、文字排印、特效及设计重构的方法。整本应该更适用于有一定设计基础,想利用CSS标准来制作结构良好、高效的、兼容性更好的页面。

读完该书发现在Web应用上面数据和表现分离的是一种很大的趋势,在传统WinForm程序中数据和表现分离只需要增加UI层即可,而web上面的数据和表现分离还要区分开发人员角色,对于页面设计师来说,页面结构是数据,CSS即是控制数据显示的表现方式,对于应用开发人员(一般就是开发人员)数据是存储于数据库中的实际数据,表现就是通过模板、框架来提供的页面数据。这样导致一个Web应用将分为:页面表现层、页面结构层、页面数据层(一般可以是业务逻辑层)、数据层(数据访问层、数据库)。完美的Web应用更负责。

开卷有益,从读这本书中收益的地方有这么几点:

  • 选用适当的HTML元素。受以前Table布局影响,为了实现显示效果,乱用HTML标记比较严重,其实应当根据文档内容的结构选择HTML元素,而不是根据HTML元素的样式。例如:用p元素包含文字段落,而不是为了换行;用blockquote包含被引用的文字,而不是为了得到缩进等。另外,最好采用符合XHTML 1.0 Strict标准的HTML元素。
  • 避免过度使用div和span。在前一段时间的Web项目中,我就过度使用了div和span。div应该用于增强文档的结构性,可以将div看作一个可以被重用的容器,几个合理位置中的div却可以让文档显得井井有条。
  • 适当使用class和id。前一段时间的Web项目中,我还过度使用了class和id。class、id命名规则:字母或数字(a~z、A~Z、0~9)或下划线(_),实际中中划线(-)也可以使用,class和id名称必须以字母开头(难怪14font的class有时候不能生效),同一个页面不能给多个元素指定相同的id,建议在CSS和HTML中统一class、id的命名大小写。
  • 抛弃安全色的限制。
  • 如果仅仅为了实现table的某种效果,没有必要使用间隔图像或者嵌套表格。用CSS控制边距即可。
  • 属于页面内容的图片放入页面数据,数据布局呈现的图片建议全部放到CSS中。
  • 创建并测试CSS时,首先在最高级、最先进的浏览器中进行,然后再考虑其它浏览器。就实际情况看,首先应该在Mozilla Firefox中测试,再到IE7中测试,再测试IE6。可恶IE浏览器兼容性太差。

图书购买网址:http://product.dangdang.com/product.aspx?product_id=9293450

六月
21

遭遇腾讯SOSO爬虫攻击

Author Dominic    Category 网站管理     Tags , , ,

晚间老婆公司一台服务器非常慢,页面几乎打不开,CPU占用率也非常高,还以为收到攻击呢,晚间正是Google、baidu搜索网站的时间,网站如此慢肯定不行的,通过网关的防火墙查看到如此深夜来自于58.61.164.142、58.61.164.140、58.61.164.138这三个IP访问量奇高无比而且频率非常快,Google一下发现是SOSO的爬虫,以前见识过baidu的爬虫扒网站速度奇快导致流量很高、网站无反应,谁知道腾讯这个烂公司的无良程序员也写出这种攻击式的爬虫程序(它速度快了,其它爬虫就慢了,例如baidu、google)。

设置一个条件封锁所有来自58.61.164.*的流量,顿时服务器恢复正常。对应iptable语句为:
iptables -A FORWARD -j DROP -p tcp -s 58.61.164.1/24

apache的.htaccess文件设置如下也可:
order allow,deny
deny from 58.61.164.
allow from all

如果只需要封锁soso爬虫的5个ip,可以用58.61.164.136/29。

最奇怪的是soso上面写着搜索结果有Google提供,怎么自己也弄个爬虫呢,太变态了。有没有一个网站列出所有这些无良爬虫的IP哦。

不知道做一个这样的网站会不会被干掉。

六月
20

网站编辑手册目录(参考)

Author Dominic    Category 网站管理     Tags

每个网站都有自己不同的特色,这样每个网站都可以有自己的编辑手册。
内容包括可以包括:
1、 栏目定位
2、 栏目分工
3、 资讯来源(按栏目,给出常用网站名称、url、栏目名称、网站版权要求、更新频率)
4、 其它信息获取来源
5、 编辑日历(什么时间需要上传什么栏目的资讯)
6、 编辑规范(强调适应于本网站的规范,一个不断总结的过程)
7、 学习及提高
8、 附录
制作方式:先对栏目进行分工,以文本文件和excel文件的方式记录分文件夹存储。最好使用wiki、日历等软件搭建一个工作平台。如果以文档的形式发布,最好记录更新记录以备查。


六月
20

Tag(标签)的选取方法

Author Dominic    Category Web应用     Tags , , ,

Tag即标签,是目前web2.0中应用比较多的一种应用,通常可以理解为文章分类和关键词。Tag数量没有太多的限制,使用Tag对于在搜索引擎搜索结果上将非常有好处,一般可以增加搜索结果数量和质量。
Tag的选取方法:
1、 Tag词语不要太宽泛,选择的词语应该比较具体,有针对性。例如:汽车这个关键词就不是很好。
2、 Tag词语也不适于太长太特殊,2-4汉字为佳。
3、 文章中出现次数较多的作为第一个。
4、 兄弟栏目如果关系非常紧密,其常用Tag词语也可以作为Tag词语。例如:某汽车网站违章查询栏目,合肥的违章查询Tag为交通违法,淮南的违章查询Tag为电子警察,那么其它违章查询栏目也可以加入这两个Tag词语。
5、 挖掘热门关键词,可以根据搜索引擎结果来看。例如交通违章、违章查询这是某汽车网站违章查询栏目查询次数最多的关键词,那么我们就需要将这两个作为这个栏目所有文章的关键词。

六月
18

读《在小吃店遇见凯恩斯》

Author Dominic    Category 读书     Tags ,

趁这次当当网在做活动买了这本由韩国柳泰宪著徐若英译的《在小吃店遇见凯恩斯》经济学读物。

凯恩斯是现代宏观经济学的奠基人,(John Maynard Keynes, 1883~1946年)是继经济学之父亚当·斯密(Adam Smith, 1723~1790年)之后最伟大的经济学家,凯恩斯在20世纪20年代末期大萧条时代提出了需求的重要性,提出政府应该站出来去干预总需求和总供给。

本书以韩国古典名著《春香传》中男女主人翁李梦龙和成春香开辣炒年糕店来通过讲故事的方式阐述了宏观经济学中的需求、供给、GDP、GNP、GNI等概念,用非常容易理解的语言描述了需求函数、消费函数、投资函数等繁琐的公式,并讲解了政府开支税收、出口和进口的关系及利润、利息、投资量、货币供给需求两之间的关系。通过本书可以了解到国家是怎么通过利息率、储备金准备率、国债等金融手段来调节扩张性金融和紧缩性金融。

207页的书分十一篇,每篇后面的“在小吃店遇见有钱人的故事”非常值得仔细阅读。里面有一些话语非常有意思,耐人寻味:

  • “钱,这个家伙力大无比。所以,除非你早已准备好够大的碗来迎接‘钱’这个不得了的家伙,否则你很可能无力承受被雀屏中选的幸运!”先去造个碗吧!
  • “钱,它有另一套标准来选择真正具有富翁资格的人;这是指那些已经准备好富翁专属碗的人”
  • “我不知道该如何贴切形容信用卡?或许,可以比喻为‘麻药’吧!医生可以用它治疗病人,但是,也可能致人于死。”目前我的信用卡还属于治病救人吧!
  • “先让自己做好心理准备,当有钱人!”
  • “别跟政策过不去”

这本书可以作为普及宏观经济学的读本来读,因为它介绍的是宏观经济学的基本概念和内容。

当当网址:http://product.dangdang.com/product.aspx?product_id=9112828

六月
7

朗科U盘太慢了,建议不要购买。U-SAFE缺陷太大了。

Author Dominic    Category 生活叫吠     Tags ,

拿到一个朗科的U205的2G U盘,本来打算放个移动版的Apache和FileZilla到里面去,谁知道在U盘上面用FileZilla慢得要命。尝试拷贝一些文件到U盘,结果拷贝1.6G的文件竟然需要50多分钟,用ATTO一测,大文件写入速度在2MB/S,小文件只有700KB/S,写完一个文件之后还有2秒左右的延迟。打电话到深圳要我压缩在传。

仔细分析了一下,然来是朗科所谓的移动存储技术与安全标准–U-SAFE标准在作祟。这个U-SAFE标准有着非常大的缺陷:每个文件写入后需要2s左右的稳定时间。对于大文件的写入还感觉不出来,这对于大量小文件是一个致命的问题;一个100个小文件的压缩包(100kb左右)在U盘上直接解压,将花费4分钟左右的时间,而在其它U盘或硬盘上则是瞬间完成的事。

可恶的是,有这么严重的问题,朗科也不正面回应,技术支持人员只是说小文件拷贝是比较慢,最好打包进行拷贝,要求提供去掉U-SAFE功能的方法却也不提供。小文件的传输是会慢一些,但朗科的这个慢的太离谱了。

其实,说到底U盘就是取代软盘的东西而已,弄什么个U-SAFE以牺牲很大的性能来保证文件存储的安全性实在得不偿失。

建议不要购买带有U-SAFE功能的朗科U盘。手上这个准备放到抽屉了,还是U3的U盘好呀,既可以当U盘又可以当刻录盘。

六月
6

用Meta标签让网页产生渐变效果

Author Dominic    Category Web应用     Tags , ,

今天才发现Meta标签有动态滤镜的功能。在页面的HTML代码的Head头中加入以下两行,再看看效果就知道了。

< http-equiv=”Page-Enter” Content=”blendTrans(Duration=0.5)”>
<Meta http-equiv=”Page-Exit” Content=”blendTrans(Duration=0.5)”> 

http-equiv可以取值:”Site-Enter” , “Site-Exit” , “Page-Exit” , “Page-Enter”。

这里的blendTrans其实就是一种动态滤镜效果,当然还有其他的方法也可以产生这种动态滤镜效果:

<Meta http-equiv=”Page-Enter” Content=”revealTrans(Duration=x, Transition=y)”>
<Meta http-equiv=”Page-Exit” Content=”revealTrans(Duration=x, Transition=y)”> 

Duration  表示滤镜特效的持续时间(单位:秒) ,Transition 滤镜类型。表示使用哪种特效,取值为0-23。表示的意思如下:

0 矩形缩小
1 矩形扩大
2 圆形缩小
3 圆形扩大
4 下到上刷新
5 上到下刷新
6 左到右刷新
7 右到左刷新
8 竖百叶窗
9 横百叶窗
10 错位横百叶窗
11 错位竖百叶窗
12 点扩散
13 左右到中间刷新
14 中间到左右刷新
15 中间到上下
16 上下到中间
17 右下到左上
18 右上到左下
19 左上到右下
20 左下到右上
21 横条
22 竖条
23 以上22种随机选择一种
五月
24

热烈庆祝新华电脑专修学院与我爱设计网结成战略合作伙伴

近日,新华电脑专修学院我爱设计网正式结成战略合作伙伴,双方将在数字艺术教育领域展开深入合作,为共同培养数字艺术人才努力。

我爱设计网www.52design.com)由合肥明道信息科技有限公司于2001年创立,是基于计算机图形图像和数字艺术领域,以推广传播新锐数字创意和视觉艺术理念为特色,全心推动中外原创设计交流和中国创意产业发展的专业网络信息综合服务平台。我爱设计网内容涉及平面设计、WEB设计、UI设计、网络媒体、CG视觉、数码影像、环境艺术等诸多领域,提供院校联盟、设计精英、设计专访、个人专区、企业专区等多个应用平台。我爱设计网Alexa 全球网站排名最高达2972,被誉为中国及全球华人地区访问量居高的艺术设计专业网站、安徽设计专题第一媒体网。


明道信息科技有限公司总经理、我爱设计网创始人、网易学院设计系网站建设教授方建伟为同学们讲课

在2007年4月举办的第三届新华校园数字文化节上,合肥明道信息科技有限公司总经理、我爱设计网创始人、网易学院设计系网站建设教授方建伟先生在新华电脑专修学院大学部应邀就商业网站设计技巧进行专题讲座——《如何设计出一个成功的商业网作品—商业网站设计中的技巧》,本次讲座通过详细的案例介绍、分析讲解,让学子们对于成功的商业网站作品有了清晰的认识。同时,方总还将个人在行业中多年积累的工作经验、技巧和同学们分享,使同学们对理论学习和实际操作等有了全面了解,受到同学们的广泛欢迎。

良好的合作成果为今后双方的合作奠定了良好的基础,据方总介绍,今后我爱设计网将继续与新华电脑专修学院保持良好的合作关系,合作开展专题讲座、学习实训等。针对新华学子的优秀素质,方总还表示,未来将在合肥明道信息科技有限公司建立新华学子实训基地和就业平台。

新华电脑专修学院将积极与业内知名教育机构、企业合作交流,将IT最前沿的技术和经验引入校园,使每位学子在校园内既学到理论知识,又了解行业需求,为他们今后的就业、工作提供积极的帮助。

专题推荐

标签

分类目录

新浪微博

存档

近期文章

近期评论

友情链接

分享按钮