2014-10-06 2 views
0

Передача базы данных с одного сервера на другой сервер с использованием phpmyadmin. Я успешно передал его, но имел проблемы с шведскими персонажами. Я вижу, что шведские символы отображаются правильно в таблицах, но на php-страницах это неправильно, похоже, двойное кодирование или любая другая проблема. Может ли кто-нибудь помочь?Передача базы данных с использованием phpmyadmin - проблема с кодировкой

ответ

0

Проблема может быть в разных частях. Добро пожаловать в мир Юникода!

  1. Убедитесь, что для столбцов в MySQL используется utf8_ * (лично я предпочитаю utf8_bin).
  2. Убедитесь, что страница PHP сообщает клиенту, что содержимое закодировано с помощью UTF8. Это может/должно быть сделано двумя способами:
    • Установить следующий заголовок: header('Content-Type: text/html; charset=utf-8');
    • В вашем HTML <head> добавить правильный мета-тег: <meta charset="utf-8">
    • (примечание: в то время как в теории это не является строго необходимым, чтобы сделать как , так как они эквивалентны для клиента, лучше быть избыточным!)
  3. Убедитесь, что соединение с MySQL использует UTF8. Это можно сделать, выполнив простой запрос сразу после подключения к базе данных: SET NAMES 'utf8' (например, mysqli_query("SET NAMES 'utf8'"); измените его соответствующим образом, если вы используете PDO или API-интерфейсы MySQLi OOP).

Бонус: если вы используете UTF8 в своем скрипте PHP, убедитесь, что вы обрабатываете все по Unicode-безопасному пути. Поэтому, предпочитайте использовать функции mb_* для управления строками, используйте флаг u с функциями preg_* и т. Д. И помните, что символы UTF8 являются переменными в количестве байтов, которые они используют, от 1 до 4!

0

У меня одинаковые настройки для моего обоих веб-сайтов, проблема связана с базой данных после передачи ее другому серверу. Кодирование страниц одинаково на обоих сайтах.

вы можете проверить его здесь

http://www.abswheels.se

http://www.dackis.se/abs/

вы можете увидеть разницу. любые предложения?

также все в порядке. Я не знаю, почему, когда я получаю данные со специальным символом из базы данных, у него есть проблема. вы можете увидеть строку заголовка обоих веб-сайтов. все одинаково на стороне клиента. такая же кодировка, что и установка

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