UTF8字符串上的==是否安全?

dee*_*eem 1 php mysql string comparison

我需要在循环基础上获取字符串比较中的一些元素,我想到的问题是UTF8.

通过比较可以包含UTF8字符的字符串是否安全==?或者最好通过数据库引擎进行一些额外的SQL查询来完成它?

我已经在PHP中完成了测试并且看起来不错,但我想确认一下.

// if $_GET['city'] is "?ód?" the result is ==.
$city = '?ód?';
if (isset($_GET['city']) && strtolower($_GET['city']) == strtolower($city)) {
    echo '==';
}
Run Code Online (Sandbox Code Playgroud)

zer*_*kms 6

目前几乎没有任何区别==,并===在比较两个字符串.

如果你不比较存储为字符串的数字,那你没问题.

不同结果的示例:

var_dump('01' === '1'); // false
var_dump('01' == '1'); // true
Run Code Online (Sandbox Code Playgroud)