当我测试这个小脚本时:
$str = "apple";
echo md5($str);
结果与使用utf8执行md5的结果相匹配(使用c#进行测试)
我应该相信在任何其他环境中都是如此吗?
如果我把这个脚本放在任何web主机,windows或linux上,它的行为总是与UTF8
编码相同吗?
字符串文字的编码是您保存源文件的编码。如果以UTF-16格式保存该php文件,则会得到不同的结果,也就是说,如果代码运行的话。
PHP中没有统一的或托管的编码。PHP中的字符串可以是任何编码,换句话说,它们相当于具有更抽象字符串类型的语言的字节数组。
md5()将始终给出相同的编码。如果您不能信任它,您可以简单地在Database中对数据进行编码。