连接Mysql提示Can’t connect to local MySQL server through socket的解决方法

Mysqlliuliangsong 发表了文章 • 0 个评论 • 2452 次浏览 • 2016-10-19 11:35 • 来自相关话题

mysql、mysqldump、mysqladmin、php连接mysql服务常会提示下面错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 这是由于当使用host参数为“localhost”连接Mysql服务时,会优先使用“sock文件”进行连接,而不是使用“IP:端口”进行连接,而mysql尝试使用“sock文件”进行连接时,却无法获取“sock文件”的位置。 要解 查看原文 »

PHP正则表达式匹配所有ASCII字符

PHPliuliangsong 发表了文章 • 0 个评论 • 1430 次浏览 • 2016-10-18 22:15 • 来自相关话题

PHP可以使用"#[[:ascii:]]#"或者"#[\x{00}-\x{ff}]#u"来匹配ASCII字符。<?php //删除所有ascii字符 echo preg_replace("#[\x{00}-\x{ff}]#u", "", "abc!@爱E族#{}x aiezu.com"); //输出: 爱族 //删除所有非ascii字符 echo preg_replace("#[^[:ascii:]]#u", "", "abc!@爱E族#{}x aiezu.com"); //输出 查看原文 »

中文在UTF8和GBK编码中的范围

PHPliuliangsong 发表了文章 • 0 个评论 • 2312 次浏览 • 2016-10-18 16:09 • 来自相关话题

编码范围 1. GBK (GB2312/GB18030) x00-xff GBK双字节编码范围x20-x7f ASCII字符x80-xff 中文(GBK中文范围) xa1-xff 中文(GB2312中文范围) 2. UTF-8 (Unicode) u4e00-u9fa5 (中文)x3130-x318F (韩文)xAC00-xD7A3 (韩文)u0800-u4e00 (日文) 正则表达式例子: 1、使用PHP语言:<?php preg_replace("#[\x80-\xff]#", "", '爱E族:aiezu.com'); //GBK中匹配 preg_repla 查看原文 »

php正则表达匹配中文汉字

PHPliuliangsong 发表了文章 • 0 个评论 • 2007 次浏览 • 2016-10-18 15:36 • 来自相关话题

正则匹配中文汉字根据字符编码不同而略有区别: GBK编码 - [\x80-\xff]+ GB2312编码 - [x\a1-\xff]+UTF-8编码 - [\x{4e00}-\x{9fa5}]+/u 示例: 1、匹配UTF8编码字符中的汉字:<?php // 删除字符串中所有汉字 echo preg_replace("#[\x{4e00}-\x{9fa5}]#u", "", '爱E族: aiezu.com'); // E: aiezu.com // 删除字符串中所有非汉字字符 echo preg_replace("/[^\ 查看原文 »

Compilation failed: invalid UTF-8 string at offset 6 in /tmp/aiezu.com.php on line 2

PHPliuliangsong 发表了文章 • 0 个评论 • 853 次浏览 • 2016-10-18 15:12 • 来自相关话题

当我们通过下面代码、使用正则表达式期望将字符串中的非汉字替换为空,这时收到一条警告信息:<?php echo preg_replace("#[^\x4e00-\x9fa5]#u", "", '爱E族:aiezu.com');警告信息:PHP Warning: preg_replace(): Compilation failed: invalid UTF-8 string at offset 6 in /tmp/aiezu.com.php on line 2这时如何解决呢? 原来正则表达式中的"\x"后的UT 查看原文 »

Compilation failed: character value in \x{...} sequence is too large at offset xxx

PHPliuliangsong 发表了文章 • 0 个评论 • 1061 次浏览 • 2016-10-18 14:48 • 来自相关话题

当我们使用正则表达式匹配汉字时,收到一条警告信息,如:<?php echo preg_replace("#[^\x{4e00}-\x{9fa5}]#", "", '爱E族:aiezu.com'); //抛出警告: // PHP Warning: preg_replace(): Compilation failed: character value in \x{...} sequence is too large at offset 9 in /tmp/aiezu.com.php on line 2 这是由于我们正则表达式没加"u"模式原因, 查看原文 »

Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 3 in xxx

PHPliuliangsong 发表了文章 • 0 个评论 • 1423 次浏览 • 2016-10-18 14:18 • 来自相关话题

当我们辛辛苦苦的在网上找到匹配汉字的正则表达式拿来用时,才发现不能用,如下面代码:<?php echo preg_replace("#[^\u4e00-\u9fa5]#", "", '爱E族:aiezu.com');代码抛出如下警告信息:PHP Warning: preg_replace(): Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 3 in /tmp/aiezu.com.php on line 2 解决办法: 原来上面代码的& 查看原文 »

Javascript计算字符串长度,中文长度为2,英文为1

Javascriptliuliangsong 发表了文章 • 0 个评论 • 1677 次浏览 • 2016-10-18 11:46 • 来自相关话题

使用js计算字符串长度,ASCII字符(英文、数字、字母等)长度算1,非ASCII字符(汉字等多字节字符)长度算2: 方法:将非ascii字符替换成两个星号,再计算长度:function abslength( str ) { return str.replace(/[^\x00-\xff]/ig, '**').length; } alert(abslength("爱E族: aiezu.com")); //弹出16 这是JS版本,要使用PHP按同样规则计算字符串长度,请参考:PHP计算字符串长 查看原文 »

PHP计算字符串长度,中文长度为2,英文为1

PHPliuliangsong 发表了文章 • 0 个评论 • 1142 次浏览 • 2016-10-18 11:19 • 来自相关话题

PHP计算字符串长度,ASCII字符(英文、数字、字母等)长度算1,非ASCII字符(汉字等多字节字符)长度算2: 方法一: 将非ascii字符替换成两个星号,再使用strlen计算长度:<?php function abslength( $str ) { return strlen(preg_replace("#[^\x{00}-\x{ff}]#u", '**', $str)); } echo abslength("爱E族: aiezu.com"); //输出16 方法二: 循环判断每个字符是否 查看原文 »

PHP中eval函数导致HTTP 500错误的解决方法

PHPliuliangsong 发表了文章 • 0 个评论 • 762 次浏览 • 2016-10-18 11:10 • 来自相关话题

使用php eval函数来执行PHP代码时,常常由于提交给eval函数执行的代码不是合法的PHP代码,而导致http服务返回"HTTP/1.0 500 Internal Server Error"错误。尝试使用下面方式进行异常处理:try { eavl("code..."); } catch(Exception $e){}或者:@eavl("code...");后发现页面依然返回http 500错误,在网上google一下才发现这是一个bug,通过下面方式得以解决 查看原文 »