У меня есть несколько форм, которые вставляют некоторые данные в базу данных MySQL, и по какой-то причине символы получают двойное кодирование utf-8.Вы не видите его на внешнем интерфейсе моего сайта, но на заднем плане вы видите, если я смотрю на данные из phpmyadmin, они дважды кодируются.
Кроме того, для отображения данных, введенных изphpmyadmin мне нужно utf8_encode
это.
Если я использую uft8_decode()
в своих данных, прежде чем помещать их в свою базу данных, это работает, но тогда мне придется снова использовать utf8_encode()
, чтобы отобразить мойправильные данные, и я хотел бы найти лучшее решение, переписывающее большую часть моего кода.
Символы, с которыми я имею дело, - это датские æ, ø и å символы.
У меня есть все настройки, которые я могу найти в php.ini, для установки в utf-8, все, что я могу найти в phpmyadmin для utf8, для мета-тега html в utf-8, и все же у меня есть эта ошибка, с которой нужно иметь дело.
Итак, мой вопрос: кто-нибудь знает, почему это происходит, или как я могу это исправить? ..
Обновление: После запуска кода MySQL, предложенного Яко, данные должным образом закодированыв конце базы данных, когда она поступает из внешнего интерфейса, но мне все еще нужно запустить utf8_encode()
для правильного отображения данных на интерфейсе, есть идеи? ..
Обновление 2: Опять после запуска кода из ответа на этот вопрос У меня все еще были проблемы, кодировка была теперь включена и выключена utf8, и я подозреваю, что phpmyadmin для сброса кодировки как-то.Я нашел новый способ ведения дел, и он работает безупречно, описанный в моем ответе ниже ...