灵异事件.快来看strstr 和 strpos 把两个不同的字符串匹配成功了.$row1="不断";
$text="喜欢香蕉";
if($row1)
if(strstr($text,$row1)){
exit(strstr($text,$row1));///////////////////这句被执行了.....?????????
}你们试一下看看是不是
$text="喜欢香蕉";
if($row1)
if(strstr($text,$row1)){
exit(strstr($text,$row1));///////////////////这句被执行了.....?????????
}你们试一下看看是不是
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<?php
$row1="不断";
$text="喜欢香蕉";
if($row1)
if(strstr($text,$row1)){
exit(strstr($text,$row1));
}
exit;
?>
</body>
</html>执行后,前面HTML<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
不断憬
<?php
$text = iconv('UTF-8', 'GB2312', '不断');
$text2 = iconv('UTF-8', 'GB2312', '喜欢香蕉');
var_dump(urlencode($text), urlencode($text2));
string(12) "%B2%BB%B6%CF"
string(24) "%CF%B2%BB%B6%CF%E3%BD%B6"计算机只认一个字节的,所以把“ 喜 ”字和 “ 香 ”切成两半,就和 ” 不断 “ 重复了,再有 "%E3%BD%B6"
所以就不能避免你遇到的现象了同样问题,不同的人就有不同的处理方式
在国内,大多数人会建议你去使用 utf-8 编码,宁可去浪费那多出的50%存储空间。可见还是很有钱的
在日本(日文编码也是双字节的),就有人开发了 mb_string 扩展。并奉献出来供地球人使用,用以解决双字节带来的问题