‘Program&Database’ 分类的存档

转载时请标明文章原始出处和作者信息, 作者: lostsnow.http://www.lsproc.com/blog/python_spider/

#coding=utf-8

import sys
import urllib2
import gzip
import StringIO

# 页面url
url = "http://china.toocle.com/company/show/pdetail--1000436--10532651.html"
# 页面编码
page_encode = "gbk"

request = urllib2.Request(url)
request.add_header("Accept-encoding", "gzip")
usock = urllib2.urlopen(request)
page = usock.read()
# 处理gzip过的页面
if usock.headers.get('content-encoding', None) == 'gzip':
page = gzip.GzipFile(fileobj=StringIO.StringIO(page)).read()

# 转unicode(gbk/utf8)
if not isinstance(page, unicode):
page = unicode(page, page_encode)

print(page)

-- EOF --

2010年2月1日14:34 | 没有评论
标签: ,

转载时请标明文章原始出处和作者信息, 作者: lostsnow.http://www.lsproc.com/blog/ajax_char_lose/
采用Ajax传递数据时,通常会将数据整理为data="var1=abc&var2=def"。而当数据中存在加号(+)或是连接符(&)时,服务器端接收数据时会有部分数据丢失现象。分析一下Ajax传递数据的格式与Javascript的语法不难发现:
1. "+"号:JavaScript解析为字符串连接符,所以服务器端接收数据时"+"会丢失。
2. "&":JavaScript解析为变量连接符,所以服务器端接收数据时&符号以后的数据都会丢失。
解决办法也相当简单,只需要为+与&符号编码即可:

function vchar(str) {
str = str.replace(/\+/g, "%2B");
str = str.replace(/\&/g, "%26");
return str;
}
var1 = "abc+kef";
var2 = "abc&kef";

var1 = vchar(var1);
var2 = vchar(var2);

alert(var1);
alert(var2);

使用jquery的话可以使用如下方式提交

var params = $('input, textarea').serialize();
$.ajax({
type: 'post',
url: 'xxxx.php',
[...]

2009年1月8日11:09 | 没有评论

转载时请标明文章原始出处和作者信息, 作者: lostsnow.http://www.lsproc.com/blog/python_pil/
pil站点: http://www.pythonware.com/products/pil/index.htm
pil下载: http://effbot.org/downloads/Imaging-1.1.6.tar.gz
pil文档: http://www.pythonware.com/library/pil/handbook/index.htm
  
[安装]
$ tar zxvf Imaging-1.1.6.tar.gz
$ cd Imaging-1.1.6
$ python setup.py build_ext -i
$ python selftest.py
$ python setup.py install
安装完毕后,可在python安装目录下的site-packages找到PIL安装目录。
-- EOF --

2008年11月10日16:03 | 没有评论
标签: ,

转载时请标明文章原始出处和作者信息, 作者: lostsnow.http://www.lsproc.com/blog/use_dbprefix_in_zendframework/
目录结构

在 config.ini 定义 prefix
[general]
adapter = PDO_MYSQL
host = localhost
username = root
password = 123456
dbname = test
charset = utf8
prefix = pf_ //表前缀
index.php 中将 prefix 注册
// 读取数据库配置
$dbconfig = new Zend_Config_Ini('../config/config.ini', 'general');
// 配置数据库
$database = Zend_Db::factory($dbconfig->adapter,$dbconfig->toArray());
// 设置数据库编码
$database->query("set names {$dbconfig->charset};");
Zend_Db_Table::setDefaultAdapter($database);
Zend_Registry::set('database',$database);
// 数据表前缀
Zend_Registry::set('dbprefix',$dbconfig->prefix);
在 library/Custom 目录下新建文件 Db.php 继承 Zend_Db_Table 类
class [...]

2008年1月17日23:07 | 没有评论

转载时请标明文章原始出处和作者信息, 作者: lostsnow.http://www.lsproc.com/blog/add_coolcode_quicktag_for_wordpress/
修改 wp-includes/js/quicktags.js 文件
1. 找到

edButtons[edButtons.length] =
new edButton('ed_code'
,'code'
,'<code>'
,'</code>'
,'c'
);
在后面添加

edButtons[edButtons.length] =
new edButton('ed_coolcode'
,'coolcode'
,''
,'</coolcode>'
,'x'
);
2. 找到

else if (button.id == 'ed_link') {
document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertLink(edCanvas, ' + i + ');" value="' + button.display + '" />');
}
在后面添加

else if (button.id == 'ed_coolcode') {
document.write('<input type="button" id="' + button.id + '" [...]

2008年1月13日01:39 | 没有评论
页数 1 of 4123...尾页 »