UTF8 mb_strpos 问题

UTF8 mb_strpos ISSUE

我正面临一个非常奇怪的问题,我正试图在 UTF-8 大海捞针中找到一个 UTF-8 针,但它只是不想正常工作。这是一个例子。

header('Content-Type: text/html; charset=utf-8');
mb_internal_encoding("UTF-8");

vardump(mb_strpos('Příkon', 'Příkon '));

它returns假

header('Content-Type: text/html; charset=utf-8');
mb_internal_encoding("UTF-8");

vardump(mb_strpos('Příkon', 'Příkon'));

这个returns 0(成功)

有什么想法吗?

嗯,是的。错误是正确的。您刚刚在调用 mb_strpos(string $haystack , string $needle) 时交换了 $haystack$needle,因此无法在 'Příkon' 中找到 'Příkon '。你的电话应该看起来像

mb_strpos('Příkon ', 'Příkon');