Когда я проверил этот маленький скрипт:
$str = "apple"; echo md5($str);
Результат соответствовал результату md5 с использованием utf8 (проверен с использованием C #)
Должен ли я полагать, что это всегда будет иметь место в любой другой среде?
Если мне разместить этот скрипт на любом веб-хосте, окнах или Linux, будет ли он всегда UTF8
кодировкой UTF8
?
Кодирование строкового литерала – это любая кодировка, в которой вы сохранили исходный файл. Если вы сохранили этот файл php в UTF-16, вы получите другой результат, то есть, если код будет работать.
В PHP нет единой или управляемой кодировки. Строки в PHP могут быть в любой кодировке, другими словами, они эквивалентны байтовым массивам языков с более абстрактным строковым типом.
Просто md5 () всегда будет давать одинаковое кодирование. Если вы не можете доверять этому, просто вы можете кодировать данные в самой базе данных.