В настоящее время я пытаюсь переключиться с моей общей учетной записи inmotionhosting (получив AWEFUL сервис в последнее время) на сервер Amazon EC2, который я настроил. У меня возникли проблемы с получением функции шифрования, работающей в учетной записи EC2.mysql кодирование зашифрованного текста
В моем PHP-коде весь текст шифруется mcrypt перед тем, как быть помещенным в SQL. Я вывел, что эти символы mcrypt отвечают за все мои запросы, бросая ошибки. (Я знаю, это из-за проблем с кодировкой, но поиски Google по этому вопросу не очень ясны, когда мне нужно сосредоточить свое внимание.)
Более упрощенный способ объяснения проблемы. На моей новой учетной записи хостинга этот запрос будет не работает:.
UPDATE mydatabase.clients SET ПгвЬЫате = '\' А »» é¶Q»WHERE id_client = 65
Но это делает
UPDATE mydatabase.clients SET firstname = 'Test' WHERE id_client = 65
Таким образом, функция mcrypt позволяет использовать символы, которые база данных SQL не понимает, и, следовательно, запросы не работают.
Некоторой другая информация для вас ...
Когда я бег «SHOW ПЕРЕМЕННЫХ LIKE„%“character_set_» на рабочей базе данных я получаю это:
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
Когда я делаю это на нерабочем базы данных я получаю:
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
я увидел разницу в character_set_database и запустил эту строку кода:
ALTER DATABASE mydatabase DEFAULT CHARACTER SET latin1
Он успешно сменил character_set_database на "latin1", чтобы соответствовать другому, но не решил проблему.
Наконец, все мои столбцы в моих таблицах используют параметры сортировки «latin1_swedish_ci»
Любая помощь вы могли бы дать бы очень очень признателен!