在 PHP 中比较字符串时,如果编码不同(如 UTF-8 和 GB2312),即使看起来相同的字符也可能得到不同的比较结果。下面介绍如何自动判断编码并进行正确的比较。
注意事项
编码检测不是100%准确的,特别是对于短字符串
确保PHP已启用mbstring扩展(extension=mbstring)
对于重要的比较,最好事先统一字符串编码
如果可能,在整个项目中统一使用UTF-8编码
最佳实践
在项目中,最好从一开始就统一使用UTF-8编码,这样可以避免大多数编码相关问题
// 在脚本开头设置
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
这样所有字符串操作都会默认使用UTF...
类别:PHP 查看:35
更新:2025-04-07
调用:<img src="validcode.php" width="100" align="absmiddle" />
校验比较的时候要注意:trim($_POST['validcode']) != iconv('gbk','utf-8',$_SESSION['ValidCode'])
类别:PHP 查看:281
更新:2023-07-09
共三个:
截取GB2312中文字符串
截取utf8编码的多字节字符串
UTF-8、GB2312都支持的汉字截取函数
类别:PHP 查看:308
更新:2014-06-29
类别:PHP 查看:286
更新:2014-06-29
/***** Example Usage ***/
$files=array('file1.jpg', 'file2.jpg', 'file3.gif');
create_zip($files, 'myzipfile.zip', true);
类别:PHP 查看:295
更新:2014-06-29
所谓断字 (word break),即一个单词可在转行时断开的地方。这一函数将在断字处截断字符串。
类别:PHP 查看:342
更新:2014-06-29
类别:PHP 查看:324
更新:2014-06-29
类别:PHP 查看:287
更新:2014-06-29
类别:PHP 查看:344
更新:2014-06-29
类别:PHP 查看:350
更新:2014-06-29
删除一个目录,包括它的内容。
类别:PHP 查看:274
更新:2014-06-29
使用方法:
$convert=new btog;
$str=$convert->big5togb($str);
类别:PHP 查看:146
更新:2014-05-10
类别:PHP 查看:163
更新:2014-05-10
官方网站:http://depoch.net/download.htm
主要功能:
1、服务器环境探测:CPU、在线时间、内存使用状况、系统平均负载探测(支持LINUX、FreeBSD系统,需系统支持),操作系统、服务器域名、IP地址、解释引擎等
2、PHP基本特征探测:版本、运行方式、安全模式、Zend编译运行及常规参数
3、PHP组件支持探测:MYSQL、GD、XML、SESSION、SOCKET等组件支持情况
4、服务器性能检测:整数运算能力、浮点数运算能力、数据IO能力
5、自定义探测:MYSQL连接测试、MAIL发信测试、函数支持情况及PHP配置参数
类别:PHP 查看:212
更新:2014-05-10
要注意的内容:
1. 邮件的字符集设置, $mail->CharSet = "GB2312"; // 这里指定字符集!在这里我只指定为GB2312因为这样Outlook能正常显示邮件主题,我尝试过设为utf-8,但在Outlook下显示乱码。
2. 如果是发送html格式的邮件,那么记得也指定为<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
3. 如果你想用它来群发邮件的话,记得修改包含文件函数,如:
require("phpmailer/class.phpmailer.php");
改为
require_once("phpmailer/class.phpmailer.php");...
类别:PHP 查看:161
更新:2014-05-10
代码二里边我做了一下修改,增加参数:$mb_str_length = mb_strlen($sourcestr,'utf-8');
同时将加省略号的地方改成这样:$mb_str_length > $cutlength而不是原来的$str_length > $cutlength
因为原来的在计算中英文混合字符串的时候,有问题!
类别:PHP 查看:134
更新:2014-05-10