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

Php strpos不';字符串不匹配:字符集问题?,php,character-encoding,strpos,Php,Character Encoding,Strpos,strpos是否有效取决于解析的字符串源(手动输入或由第三方机制提供): strpos指令是 $debug = "found '?' : " . ((strpos($url, '?') === false) ? 'false' : 'true'); strpo总是返回false 我尝试了mb\u strpos,我尝试了各种en/de编码,但都无济于事(utf8\u编码,utf8\u解码,甚至使用sprintf,iconv,…) 我所知道的最好的提示是,当字符串由第三方机制提供时,convert

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

strpos指令是

$debug = "found '?' : " . ((strpos($url, '?') === false) ? 'false' : 'true');
strpo总是返回false

我尝试了
mb\u strpos
,我尝试了各种en/de编码,但都无济于事(
utf8\u编码
utf8\u解码
,甚至使用
sprintf
iconv
,…)

我所知道的最好的提示是,当字符串由第三方机制提供时,
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现在将为真

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