В настоящее время у меня есть некоторые проблемы со сравнением строк между строками PHP и Mysql.
У меня есть переменная из базы данных Mysql, и я сравниваю ее с жестко закодированной:
$string_from_mysql = "Información" //comes from DB read;
$test_string = "Información" //hard coded via text editor;
$test = strpos($string_from_mysql,$test_string); -> Returns false
Кажется, проблема связана с тем, что в $ string_from_mysql символ имеет значение 0x00F3, а в $ test_string символ равен 0xC3 0xB3.
Это, очевидно, приводит к «ложному» возвращаемому значению strpos. Символ «канонически эквивалентен», но не имеет того же значения.
Каков подход в такой ситуации? Я узнал PHP-класс Normalizer, это единственное жизнеспособное и чистое решение?
Благодарю.
Как nwellnhof указанная установка кодировки на соединение решила проблему. В моем случае мне пришлось использовать mysql_set_charset
Других решений пока нет …