首页 > 2014 > 十二月
软件简介

Navicat Premium 是一套数据库管理工具,让你以单一程序同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。

结合了其他 Navicat 成员的功能,Navicat Premium 支持大部份在现今数据库管理系统中使用的功能,包括存储过程、事件、触发器、函数、视图等。

Navicat Premium 能使你快速地在各种数据库系统间传输数据,或传输到一份指定 SQL 格式和编码的纯文本文件。计划不同数据库的批处理作业并在指定的时间运行。其他功能包括导入向导、导出向导、查询创建工具、报表创建工具、数据同步、备份、工作计划及更多。

Navicat 的功能足以符合专业开发人员的所有需求,但是对数据库服务器的新手来说又相当容易学习。

下面是“Navicat”一些主要特点:

安全连接
对象设计
表查看器
SQL生成器/编辑
数据库设计
PL/ SQL代码调试器
报表生成器/浏览器

数据处理工具:
导入/导出向导
数据传输
数据/结构同步
备份/还原
附表

有用的工具:
ER图
连接的着色/虚拟分组
树/对象过滤
加入收藏

下载地址

链接: http://pan.baidu.com/s/1kTkQeEz 密码: adig

支付宝即时到帐接口在商户服务器与支付宝服务器进行数据交互的时候需要进行数据前面,主要目的是为了防止数据在传输过程中被恶意窜改。

所谓签名即根据即时到帐交易接口文档中的请求参数列表中,除去 sign、sign_type 两个参数外,其他需要使用到的参数按照从 a 到 z 的顺序排序(若遇到相同首字母,则看第二个字母,
以此类推),然后将拼接成的字符串与支付宝密钥拼接,再进行MD5运算(以md5类型的签名举例说明)。得到的32位字符就是签名结果字符串。

在即时到帐交易中一共需要进行两次签名:

第一次是支付前构造支付数据,需要将支付参数和签名结果字符串用POST方式提交到支付宝网关https://mapi.alipay.com/gateway.do

第二次是支付成功后支付宝服务器通过return_url和notify_url进行同步通知和异步通知时会向商户服务器分别用get方式和post方式发送支付结果处理数据,商户服务器需要根据接受到的数据和签名信息判断该消息是否为支付宝服务器发送的,并根据结果和状态对商户本地程序操作相关的业务逻辑

不幸的是在项目中两次需要验证签名的地方都出了问题,下面讲一下我遇到的状况和解决方法

支付前构造支付数据的签名错误

我是直接使用支付宝官方提供的demo进行开发的,首先在本地跑了一下没有问题,放在服务器环境后进行支付直接跳转到支付宝的错误页面。

错误代码:ILLEGAL_SIGN 错误信息:调试错误,请回到请求来源地,重新发起请求

支付宝商家帮助中心也简明扼要的给出了解决和排查办法:https://cshall.alipay.com/support/help_detail.htm?help_id=397063

我这里是使用utf-8格式的php编写程序,经过排查是在POST提交这一步中文的商品名乱码导致的签名错误

解决方式一:

打开alipay_submit.class.php,找到以下代码(99行左右)

Code   ViewCopyPrint
  1. $sHtml = “<form id=’alipaysubmit’ name=’alipaysubmit’ action='”.$this->alipay_gateway_new.”_input_charset=”.trim(strtolower($this->alipay_config[‘input_charset’])).”‘ method=’“.$method.”>“;

替换为

Code   ViewCopyPrint
  1. $sHtml = “<meta http-equiv=’content-type’ content=’text/html; charset=utf-8′><form id=’alipaysubmit’ name=’alipaysubmit’ action='”.$gateway.”_input_charset=”.trim(strtolower($aliapy_config[‘input_charset’])).”‘ method=’“.$method.”>“;

解决方式二:

在相应的PHP页面声明编码类型为utf-8即可

Code   ViewCopyPrint
  1. header(“content-type: text/html;charset=utf-8″);

支付成功后消息通知中的签名不一致
对于消息通知签名不正确支付宝商户帮助中心也给出了解决和排查办法:https://cshall.alipay.com/support/help_detail.htm?help_id=397351

经过查找资料,网友们给出了几种常见的错误类型:

第一种情况:由于编码导致中文传回是乱码的情况导致sign和mysign不等。可参考这篇文章的案例

http://www.imlqw.com/322.html(目前连接已经失效)

第二种情况:由于post和get提交的问题导致sign和mysign不等,可参考以下文章:

http://my.oschina.net/u/214582/blog/52140

第三种情况:由于官方提供的paraFilter方法bug问题导致sign和mysign不等,可参考一下文章:

http://club.alipay.com/read-htm-tid-10244623-page-e.html

第四种情况:由于参数问题导致的sign和mysign不等的情况。

在PHP的默认配置情况下,当上传的文件大小超出一定的限制时(通常默认为8M),我们将得到如下的错误提示信息:

Warning: POST Content-Length of 625523488 bytes exceeds the limit of 8388608 bytes in Unknown on line 0

上述错误信息的大致意思是,我们使用POST请求提交的数据大小超过了服务器的最大限制数(8388608字节=8MB)。

出现上述错误的原因是,在PHP的配置文件php.ini中,默认存在如下配置信息(在php.ini中,行首的分号”;”表示当前行是注释,不会生效):

//脚本解析输入数据(类似 POST 和 GET)允许的最大时间,单位是秒。 它从接收所有数据到开始执行脚本进行测量的。
max_input_time = 60
//允许客户端单个POST请求发送的最大数据
post_max_size = 8M
//是否开启文件上传功能
file_uploads = On
//文件上传的临时存放目录(如果不指定,使用系统默认的临时目录)
//upload_tmp_dir =
//允许单个请求上传的最大文件大小
upload_max_filesize = 2M
//允许单个POST请求同时上传的最大文件数量
max_file_uploads = 20

从上面的配置信息中我们可以看出,PHP的默认配置信息就是导致PHP文件上传时提示文件大小超出限制的“罪魁祸首”。上述配置信息中给出了各个指令选项对应的中文注释信息,大家可以根据自己的实际需求情况对php.ini配置文件进行相应的修改。

博主由于做微信开发的缘故,经常需要在chrome浏览器调试微信网页,因而不可避免的要经常把微信中的一些链接复制到PC上,再加上公司禁止使用QQ的原因,所以就开始找可以在PC上浏览微信的东西.

目前(在今天前可以使用的主要有这么几种)

1.微信网页版(http://wx.qq.com)

主流方式一.微信官方开发,每次登陆需要扫描二维码,需要借助浏览器才可以使用和访问.曾经用着还不错,好友列表中可以显示好友和公众号,但是近来可能因为腾讯官方限制,好友列表只能显示好友,公众号不在列表显示,公众号的消息也不进行提示.

2.QQ浏览器微信版(http://browser.qq.com/download/wechat.html)

主流方式二.微信官方开发,每次登陆需要扫描二维码,内嵌于微信浏览器中,功能上没有什么限制,公众号和普通好友都会显示,消息都有提醒.但是要使用这个东西就必须安装QQ浏览器,笔者对软件有洁癖,电脑只有IE,FireFox和Chrome三种内核不完全相同的浏览器,对于像360,QQ这样的用了别的内核又拿回家自己改改发不出来的阉割版浏览器非常反感,功能再好也不愿装.

3.微信电脑版

不知道是不是主流,感觉知道的人不多.该软件是由搜狗团队开发,但是目前该项目貌似取消了,官方网站已经打不开了,但是在度娘还是能搜出很多下载连接的.功能上和微信网页版差不多,但是独立于浏览器,在没有更好的替代品之前,笔者一直在用.
4.屌丝专用(在PC用安装模拟器上手机版微信)
优点:功能和体验上与手机版完全一致

缺点:PC机上的安卓模拟器比较吃内存,配置不是特别高经常会卡,用起来不流畅.

当然废话这么多不是非要在这么几种在电脑上使用微信的方法中评出优劣,而是要告诉你,从今天起上面这些方法都OUT啦~

为什么这么讲呢?

今早上班,同事看到我桌面上那个微信电脑版上大大的二维码跟我说,腾讯自己开发的微信电脑版已经放出来了,于是赶紧去问度娘,度娘居然不知道.然后找同事帮忙查,最后在微博里找到了蛛丝马迹.现在应该是在内测,腾讯微信电脑版刚好赶在14年的圣诞节流出,不错不错,简单体验了一下,感觉还不错,公众号和普通公众号都在好友列表里,消息也有提醒,界面设计也ok,听说只有第一次登陆需要扫码.

喜欢尝鲜的你赶紧试一下吧~

下载连接附上

http://dldir1.qq.com/weixin/Windows/WeChat1.0_Alpha.exe

微信PC版

最近在一个项目中做登录模块,使用jQuery validate插件进行表单验证,验证通过后jQuery Form插件ajax提交表单数据,在火狐,谷歌浏览器使用正常,无报错信息,但在IE8下点击登陆按钮没有反应,后来看到IE控制台有报错信息说”对象不支持此属性或方法”.

我这里的报错信息如下:

对象不支持此属性或方法

错误详细信息

上网搜了一下有以下几种原因和解决办法,经过测试我的问题是通过方法3解决的,给遇到同样问题的朋友参考一下

1.表单控件中存在name为关键字的情况

由于表单中存在name为submit(或action等其他关键字)的组件,因此提交时没有提交submit而是提交了名字为submit的value。

如以下错误示例:

<form>
<input type=”text” name=”submit” />
<input type=”button” name=”submit” value=”提交”/>
<input type=”submit” name=”submit” value=”提交”/>
</form>

解决办法:

将name为submit等关键词改名,如Submit(注意貌似只要不是全部小写的就可以)

2.出现表单嵌套。(form中嵌套form)

在页面中本来有个fom,然后又include一个页面,在这个页面中也有一个form,出现了表单嵌套的情况。。

这样在提交时,被包含的form会提交不了。

解决办法:

去掉一个form表单

3.插件引入问题

检查js路径是否正确;

②注意jquery要放在from.js之前加载;

③尝试替换jquery的版本;

④引入js文件的type

把type=”application/javascript”改为type=”text/javascript”,或者不要type都可以无错运行

报错时是这样的

<script src=”http://file.waiting8.com/js/jquery-1.8.3.min.js” language=”javascript”></script>
<script src=”http://file.waiting8.com/js/jquery.form.js” type=”application/javascript” language=”javascript”></script>
<script src=”http://file.waiting8.com/js/jquery.validate.min.js” type=”application/javascript” language=”javascript”></script>

改成这样IE8就没问题了

<script src=”http://file.waiting8.com/js/jquery-1.8.3.min.js” language=”javascript”></script>
<script src=”http://file.waiting8.com/js/jquery.form.js” type=”text/javascript” language=”javascript”></script>
<script src=”http://file.waiting8.com/js/jquery.validate.min.js” type=”text/javascript” language=”javascript”></script>

附加知识:

1、表单应该包含name,aciton,method这三个必须的属性,enctype,id这两个属性可以根据需要加上,表单不要嵌套

2、document.form.action与document.form.submit()一定不要搞混,action是属性,submit是方法,方法不要忘记加上左右括号,这是一般新手经常遇到的问题。