AJAX传递中文参数时的编码问题

自己写网页都是UTF-8编码的,AJAX传递中文参数没任何问题。最近做一个chrome的插件,原网页是GB2312的,通过jquery.ajax传递参数后都会自动变为UTF-8编码,后台php处理会出现一些问题。这里用iconv函数进行编码转换。

$string= $_POST['string'];
$title = iconv('utf-8','gbk',$string);

mysql数据库设置了gbk编码也会输出时存在乱码的问题,在连接时设置编码。

$dbh = new PDO('mysql:host=localhost;port=3306;dbname=data;charset=gbk', 'root', '');

编程语言的选择

从最早接触Qbasic算起,有17、8年了,编程始终停留在基础阶段,接触过的语言比较多,QB、C/C++、VB、PHP、Javascript、Python、Java、Go,没有一种深入学习过,毕竟是纯业余爱好。而且经常在几种老语言和新语言之间犹豫,又想学习新语言,又想深入老语言,结果就是所有的语言都还停留在“Hello World”的阶段,白白浪费了很多的时间。

最近两天看了下Go语言,网上有很多关于GO语言的争论,结果发现他们争论的东西我是完全看不懂。最终得到一个结论如果不对编程过程有深入的了解和应用,再好的语言也是摆设,最多就弄个“Hello World”。思去想来还是决定继续老实的学习PHP算了,接触时间长,用的相对多一点,熟悉一点。从02年接触到php,至今也还是个菜鸟初学者,关于一些php5的高级特性完全不熟悉,对于编程模式啥的更不懂。现在准备从头学习一下。

通过GitHub的API获取代码

GitHub的API功能很强大,也很规范。我对于Git都还没搞清楚,也懒得折腾其他的功能,主要是想实现通过API获取源代码来在线安装插件等功能。看了API的文档,想要取得代码还是比较容易的,就是查询次数限制,没认证的只能60次每小时,有认证的每小时5000次。

基本都是以GET方式从https://api.github.com/取得。
要获得代码库里的readme,使用GET /repos/:owner/:repo/readme
比如TE的肥皂库https://api.github.com/repos/typecho-fans/plugins/readme
通过浏览器输入地址,或是使用curl或者其他方法取得页面内容,注意通过curl等方式要设置User-Agent。
返回值为json编码的stdClass,content属性为源码的base64编码,去掉'n'在用base64方式解码就取得文件源码。

如果要取得代码文件内容,需要获取相应的目录和文件内容:
GET /repos/:owner/:repo/contents/:path
比如要获取肥皂库的根目录下的内容:
https://api.github.com/repos/typecho-fans/plugins/contents/

阅读剩余部分...

UploadPlugin添加在线安装功能

在右上角文本框里填写插件或者模板的链接,点击安装就可以自动下载并安装插件或模板。
注意只支持zip文件,类似于(插件下载地址就是这个)

http://typecho-plugins.googlecode.com/files/UploadPlugin.1.1.1.zip

一些链接不包含文件名,但是点击后能下载zip文件也行。比如TE论坛内的链接:

http://forum.typecho.org/download/file.php?id=6

一些网盘的链接需要js跳转,可以实现,但有些麻烦,目前就没考虑。
up2.jpg