strpos不';t匹配字符串:字符集问题


strpos doesn't match a string : characterset issue?

strpos是否工作取决于解析的字符串源(手动输入或由第三方机制提供):

index.php?option=com_ars&view=release&id=8

strpos指令是

$debug = "found '?' : " . ((strpos($url, '?') === false) ? 'false' : 'true');

strpos总是返回false。

我尝试了mb_strpos,我尝试了各种编码,但都无济于事(utf8_encodeutf8_decode,甚至使用sprintficonv…)

我要知道的最好的提示是,当字符串由第三方机制提供时,convert_uudecode会出现错误

Warning: convert_uudecode(): The given parameter is not a valid uuencoded string

而对于手动输入,则返回8AX9|�3英寸.

我根本不是php专家,但这让我想到了一个字符集问题。

你知道我该怎么做吗?

首先,我看到有一个括号"("太多了。(你有3个开头的"(",2个结尾的")")
其次,如果你想让变量$ok为真,如果他找到了"?"符号,那么你应该用!==测试

$ok = strpos($url, '?') !== false;

如果找到引号"?",$ok现在将为true。