JavaScript报错: malformed URI sequence , URI不合法
[ 2016-07-22 14:27:21 | 作者: admin ]
p.s. 中文传递给ajax,javascript需要解析使用的时候,需要先转成utf-8再urlencode。传递给php则没有这个需要。
在页面使用ajax向后台请求数据,
当返回中文是就需要对中文进行解码,否则会变成乱码:
解码如下:decodeURI(data.Name) ;
以前都运行好好的,但是突然有一天就报了这个错误: malformed URI sequence 被解码的URI不合法.
到网上搜了下,有的说要用: decodeURIComponet, escape 解码才行, 但是这几个方法都试了,还是报同样的错误.
最后检查后台代码发现中文编码的是这样的:
java.net.URLEncoder.encode(client.name); 并提示该方法是过时的了.
于是将其编码改成: java.net.URLEncoder.encode(client.name , "UTF-8"); 便OK了.
...
阅读全文…
在页面使用ajax向后台请求数据,
当返回中文是就需要对中文进行解码,否则会变成乱码:
解码如下:decodeURI(data.Name) ;
以前都运行好好的,但是突然有一天就报了这个错误: malformed URI sequence 被解码的URI不合法.
到网上搜了下,有的说要用: decodeURIComponet, escape 解码才行, 但是这几个方法都试了,还是报同样的错误.
最后检查后台代码发现中文编码的是这样的:
java.net.URLEncoder.encode(client.name); 并提示该方法是过时的了.
于是将其编码改成: java.net.URLEncoder.encode(client.name , "UTF-8"); 便OK了.
...
阅读全文…
linux系统快速查看进程pid的方法
[ 2016-07-21 23:25:23 | 作者: admin ]
一个很简单的命令,pgrep,可以迅速定位包含某个关键字的进程的pid;使用这个命令,再也不用ps aux 以后去对哪个进程的pid了
ps -ef 可以比较方便的得到pid
一个很简单的命令,pgrep,可以迅速定位包含某个关键字的进程的pid;使用这个命令,再也不用ps aux 以后去对哪个进程的pid了
用法:
pgrep -l XXX
说明:
-l参数,可以显示出pid及进程名字;不加-l只显示pid,谁知道是什么进程的pid
举例:
# pgrep httpd
2092
2094
2096
2098
2106
2108
2109
2111
14705
# pgrep -l httpd
2092 httpd
2094 httpd
2096 httpd
2098 httpd
2106 httpd
...
阅读全文…
ps -ef 可以比较方便的得到pid
一个很简单的命令,pgrep,可以迅速定位包含某个关键字的进程的pid;使用这个命令,再也不用ps aux 以后去对哪个进程的pid了
用法:
pgrep -l XXX
说明:
-l参数,可以显示出pid及进程名字;不加-l只显示pid,谁知道是什么进程的pid
举例:
# pgrep httpd
2092
2094
2096
2098
2106
2108
2109
2111
14705
# pgrep -l httpd
2092 httpd
2094 httpd
2096 httpd
2098 httpd
2106 httpd
...
阅读全文…
centos查看与修改memcached配置
[ 2016-07-21 23:03:00 | 作者: admin ]
查看memcached启动时的配置情况
上图中可以发现 13473 是pid, -c 3072 为连接数限制,-m 512 为内存限制。如果生产中不足可以增加。
修改当前配置,并重启memcached的方法
1、首先得到pid,上面已经得到。另外还有一个简单的方法 pgrep -l memcached ,可以百度下pgrep的其他用法
2、kill -9 13473 #这样结束进程不会影响已经运行的进程
3、/use/local/memcached/bin/memcached -d -m 512 -p 11211 -c 3072 -u root #运行下即可启动memcached
...
阅读全文…
ps -ef |grep memcached
上图中可以发现 13473 是pid, -c 3072 为连接数限制,-m 512 为内存限制。如果生产中不足可以增加。
修改当前配置,并重启memcached的方法
1、首先得到pid,上面已经得到。另外还有一个简单的方法 pgrep -l memcached ,可以百度下pgrep的其他用法
2、kill -9 13473 #这样结束进程不会影响已经运行的进程
3、/use/local/memcached/bin/memcached -d -m 512 -p 11211 -c 3072 -u root #运行下即可启动memcached
...
阅读全文…
php数组中删除元素
[ 2016-07-12 13:39:18 | 作者: admin ]
如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊
<?php
$arr = array('a','b','c','d');
unset($arr[1]);
print_r($arr);
?>
print_r($arr)之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d )
那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():
<?php
$arr = array('a','b','c','d');
array_splice($arr,1,1);
print_r($arr);
?>
print_r($arr)之后,结果是Array ( [0] => a [1] => c [2] => d )
<?php
$arr = array('a','b','c','d');
unset($arr[1]);
print_r($arr);
?>
print_r($arr)之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d )
那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():
<?php
$arr = array('a','b','c','d');
array_splice($arr,1,1);
print_r($arr);
?>
一次解决mysql插入微信用户的数据库错误 \x Incorrect string value
[ 2016-07-08 13:41:54 | 作者: admin ]
数据库表和字段是gbk编码的
一般情况是正确录入,但是在插入某些微信用户名(日文的片假名)的时候会出现 \x3d\x5e Incorrect string value 这样的错误。
首先用 show variables like 'character%'; 和 show create table tablename ; 发现表默认字符集为latin1
删除该表,重新用utf8编码建立此表,再插入数据的时候没有报错,问题解决了。就是说日文的片假名需要使用utf8的表和字段存储。
参考:http://www.400tg.com/thread-3280-1-1.html
一般情况是正确录入,但是在插入某些微信用户名(日文的片假名)的时候会出现 \x3d\x5e Incorrect string value 这样的错误。
首先用 show variables like 'character%'; 和 show create table tablename ; 发现表默认字符集为latin1
character_set_database | latin1
ENGINE=MyISAM DEFAULT CHARSET=latin1
以为是这个latin1问题,就备份并且用gbk重新建立了该表,但是插入的时候还是出现这个错误。删除该表,重新用utf8编码建立此表,再插入数据的时候没有报错,问题解决了。就是说日文的片假名需要使用utf8的表和字段存储。
参考:http://www.400tg.com/thread-3280-1-1.html
MySQL字符编码问题\x,Incorrect string value
[ 2016-07-06 15:23:49 | 作者: admin ]
MySQL上插入汉字时报错如下,具体见后面分析。
p.s. 如果手工修改了表的字段的字符集,需要导出表后重建该表,不然字符集不会生效。
MySQL字符集相关参数:
character_set_server : 服务器字符集
collation_server : 服务器校对规则
character_set_database : 默认数据库的字符集
collation_database : 默认数据库的校对规则
character_set_client:服务器使用该变量取得链接中客户端的字符集
character_set_connection:服务器将客户端的query从character_set_client转换到该变量指定的字符集。
...
阅读全文…
Incorrect string value: '\xD0\xC2\xC8A\xBEW' for column 'ctnr' at row 1
p.s. 如果手工修改了表的字段的字符集,需要导出表后重建该表,不然字符集不会生效。
MySQL字符集相关参数:
character_set_server : 服务器字符集
collation_server : 服务器校对规则
character_set_database : 默认数据库的字符集
collation_database : 默认数据库的校对规则
character_set_client:服务器使用该变量取得链接中客户端的字符集
character_set_connection:服务器将客户端的query从character_set_client转换到该变量指定的字符集。
...
阅读全文…
iconv字符编码转换全攻略
[ 2016-07-06 15:17:24 | 作者: admin ]
iconv(http://www.gnu.org/software/libiconv/ )是一个开源的字符编码转换库,可以“方便”的完成几乎所有的编码转换工作。说简单是因为,它常用的接口就三个,iconv_open iconv iconv_close,但是即便是只有三个接口,要想使用正确也不容易。这里把一些基本概念和使用细节记录下来,希望能成为一篇最实用的入门教程。
一、字符编码基本概念
更详细的内容可以参考百度百科(http://baike.baidu.com/view/1204863.htm ),或是自行google。这里会记录最核心的几个概念。
1、ASCII编码,就是英文显示文字所需要的256个字符(比如,英文字母、数字、标点符号等等)
2、ANSI编码,像中文,肯定不能只用256个字符就代表所有汉字。因此对ASCII码...
阅读全文…
一、字符编码基本概念
更详细的内容可以参考百度百科(http://baike.baidu.com/view/1204863.htm ),或是自行google。这里会记录最核心的几个概念。
1、ASCII编码,就是英文显示文字所需要的256个字符(比如,英文字母、数字、标点符号等等)
2、ANSI编码,像中文,肯定不能只用256个字符就代表所有汉字。因此对ASCII码...
阅读全文…
php中curl类常用方法封装和详解
[ 2016-07-05 17:32:53 | 作者: admin ]
curl对于PHP开发这来说是经常用到的一个类. 在抓取远程文件或是内容的时候就更常用了. 不过原生态的curl类比较复杂, 尤其对于新手来说,很多参数很容易让人头晕,现在好了. 这个类是封装了几个常用的curl函数. 可以实现抓取远程文件,模拟提交数据等功能.
阅读全文…
/*
* 来源: http://www.xuehuwang.com/
* 作者: 雪狐博客
* 类用途: 实现抓取原创内容
*/
class CURL
{
var $cookie_file; // 设置Cookie文件保存路径及文件名
var $loginurl;//登陆地地址
var $actionstr;//登陆参数
function __construct()
{
$this->cookie_file=dirname(__FILE__)."/cookie_&
...* 来源: http://www.xuehuwang.com/
* 作者: 雪狐博客
* 类用途: 实现抓取原创内容
*/
class CURL
{
var $cookie_file; // 设置Cookie文件保存路径及文件名
var $loginurl;//登陆地地址
var $actionstr;//登陆参数
function __construct()
{
$this->cookie_file=dirname(__FILE__)."/cookie_&
阅读全文…