У меня есть массив, представляющий греческий алфавит, представленный в виде строк символов HTML:
$alphabet = ["α", "β", "γ", "δ", ...]
Подобные строковые переменные хранятся и извлекаются из базы данных MySQL (я использую mysqli
).Когда я извлекаю переменную $db_result
, значение которой, скажем, "α"
, из БД и проверяю, находится ли она в массиве $alphabet
с помощью функции in_array()
, она никогда не обнаруживается:
if( in_array($db_result, $alphabet) ){
print_r("That's Greek to me!");
}
/* Result: Nothing ever prints */
Если я print_r()
и $db_result
, и $alphabet
, они оба печатают одинаковые символы.Таким образом, $db_result
печатается как 'α', а $alphabet
печатается как Array ( [0] => α [1] => β [2] => γ ...)
.
В источнике страницы значения $db_resul
t отображаются как фактические греческие буквы, тогда как $alphabet
записи массива HTML α
.Мне важнее не отображение, а логика: мне нужно in_array()
, чтобы распознать альфа как альфа
Что-то должно отличаться в кодировке, как только значение "α"
будет получено из БД, но яне знаю что или как это исправить.