我有以下代码:
$text = 'Tomáš'
echo strpos($text, "č");
# result if 4
我相信它们是不同的字符,为什么PHP告诉我它们是相同的? 发生了什么,我该如何纠正?
答案 0 :(得分:1)
您选择保存源代码文件的编码无法对您尝试保存的字符进行编码。无论PHP看到什么字符,它都不会比较您认为的字符串。将源代码保存为可编码所有字符的编码,最好是UTF-8。
答案 1 :(得分:0)
您应该尝试使用mb_strpos
功能。
根据字符数执行多字节安全strpos()操作。第一个字符的位置为0,第二个字符的位置为1,依此类推。
答案 2 :(得分:0)
通过常规设置,它会向我返回false。
但是,如果您遇到此类特殊字符的麻烦,使用mb_strpos
代替strpos
会有所帮助。