У меня возникла эта действительно раздражающая проблема на php-сайте, который я программирую и надеюсь использовать источник знаний, который представляет собой stackoverflow, чтобы помочь преодолеть его.
Логика подтверждения входа в систему такая:
Вы регистрируетесь, и вам отправляется письмо. Письмо содержит URL с вашим именем пользователя и идентификатором, который будет сопоставлен с идентификатором, хранящимся под вашим именем пользователя в таблице. (Через $ _GET)
Если функция найдет 1 строку с совпадающим идентификатором и именем пользователя, она будет проверена на «да» для этого пользователя.
Это все работает нормально, пока вы не используете имена с æ ø или å в них. Как Йорген. Функция проверки почты была изменена, чтобы приспособиться к этому, превратив URL во что-то вроде
www.myphppage.com / index.php? Войти = J% F8rgen & ID = 62185505683314306498
Я сделал php-функцию, которая проверяет вход в sql print и правильно печатает как Jørgen на html-странице. В программе mysql workbench имя также корректно отображается в таблице.
Если я пытаюсь выбрать * из database
. user_reg
WHERE login = '{$ login}' , однако, это не совпадает, и mysql_num_rows возвращает 0. Если я пытаюсь сделать то же самое с только идентификатор, хотя он совпадает и возвращает 1, как и должно. Я думаю, что ошибка должна лежать где-то в запросе.
Моя страница индекса использует charset = iso-8859-1
и моя база данных использует Latin-1_general ci
Помощь приветствуется
-Johann