2012-03-12 2 views
0

Мы импортировали веб-сайт с другого сервера на наш сервер. Код и база данных на 100% одинаковы. Но текст на веб-сайте, похоже, имеет неправильную кодировку.Проблема с кодировкой веб-сайта/базы данных

Пример: В базе данных слово "Australië" является "AustraliĂŤ", а на сайте его показано как Australi ??. Я могу исправить ?? с добавлением mysql_set_charset ("utf8", $ this-> db); после подключения к базе данных. Но тогда его показано как в базе данных типа «AustraliĂŤ», неверно. Я пробовал разные кодировки в apache, после базы данных и в метатегах.

Самый простой способ - изменить данные в базе данных, но для этого нужно много данных.

У кого-нибудь есть решение этой проблемы? Много раз искали и много чего искали.

+0

Каков тип данных столбца? –

+0

Вы имеете в виду, что старая база данных повреждена? –

+0

Таблица utf8_unicode_ci. На всех таблицах есть текст. Старая база данных не повреждена, но я думаю, что данные в ней не являются utf8, а тип таблицы - utf8. Я думаю, было бы логично, если бы Australië был сохранен как Australië в базе данных, а не как AustraliĂŤ. – Jeffrey

ответ

1

Вы можете попробовать:

  • установить соединение сортировку MySQL для uft8_general_ci в базе данных
  • запустить SET NAMES 'utf8' и SET COLLATION_CONNECTION=utf8_unicode_ci в вашем PHP файлах
  • убедитесь, что все ваши PHP-файлы сохраняются с UTF- 8 и не содержат спецификацию
  • убедитесь, что ячейки в таблице utf8_general_ci
  • убедитесь, что символ MySQL set UTF-8 Unicode (utf8)

Это то, что у меня есть. С помощью этой установки я вижу всех символов в базе данных (phpMyAdmin), поскольку они действительно появляются на самом веб-сайте.

Я столкнулся с аналогичной проблемой, когда у меня был несоответствие кодировок, то есть я сохранение данных в базу данных UTF-8 с помощью ISO-8859-1 сайта ...

Надеется, что это помогает вам.

Смежные вопросы