Проблема с кодировкой при переносе на другой хостинг.

Тема в разделе "NetCat", создана пользователем nops, 17 май 2009.

Статус темы:
Закрыта.
  1. nops

    nops

    Регистр.:
    10 дек 2008
    Сообщения:
    262
    Симпатии:
    7
    Доброго всем времени суток!
    Уважаемые модераторы, не бейте сильно, но я не нашёл решения моей проблемы.
    Вообщем суть проблемы такая!
    У меня стоял серв на ASPLinux 11, поставил NetCat 3.12 всё заработало супер(мускуль был 4.х и по умолчанию была utf8 помоему)
    Потом сменил ОСю и поставил CentOS. Мускуль 5.0.45 и кодировка в нём по умолчанию latin1. подправил конфиг мускуля и стала она у меня UTF8.
    всё что ещё было необходимо поставил и стал заливать сайт.
    Залил файлы в директорию /var/www/html/mydomen.ru/
    стал заливать дамп базы, залил, всё нормально.
    Запустил. Главная страница грузится нормально и по русски.
    открываю админку, а там половина по русски, а половина иероглифами(смотреть во вложении)
    как с этим делом бороться уже и не знаю....
    Подскажите что-нить.
    То, что предлагалось тут, правкой файла connect_io.php не помогает решить проблему. Помогите решить проблему
    Заранее спасибо!
     

    Вложения:

    • koding.JPG
      koding.JPG
      Размер файла:
      93,5 КБ
      Просмотров:
      19
  2. masterby

    masterby Читатель

    Заблокирован
    Регистр.:
    24 май 2008
    Сообщения:
    261
    Симпатии:
    26
    Просто сделай бэкап через функцию архив проекта и всё будет хорошо отоброжатся.
     
  3. nops

    nops

    Регистр.:
    10 дек 2008
    Сообщения:
    262
    Симпатии:
    7
    честно говоря, то уже неоткуда дамп базы сделать.
    нужно разобраться с имеющейся.
    Проблема в том, что база на сервере залита в 2-х кодировках, ср1251 и utf8.
    если преобразовывать базу в utf8 или ср1251(полностью), получается полная ерунда.
    Может кто предложит вариант решения?
     
  4. nops

    nops

    Регистр.:
    10 дек 2008
    Сообщения:
    262
    Симпатии:
    7
    хотел бы снова продолжить тему.
    Значит нашёл я свой старый бекап. Он в содировке cp1251. Заливаю как есть в базу, уероглифы, приходится вручную выставлять кодировку в браузере.
    Пробую переконвертировать с помощью функции Iconv в Линуксе. пишу примерно следующее.
    Код:
    iconv -f cp1251 -t utf8 dump.sql -o dump.utf8
    
    После этого заливаю, не работает, одни знаки вопроса, даже при смене кодировки. Меняю в dump.utf8 все "cp1251" на "utf8", снова заливаю, та же история.

    Что можно сделать? может я что не так делаю?
     
  5. tahman

    tahman Постоялец

    Регистр.:
    10 май 2007
    Сообщения:
    60
    Симпатии:
    35
    посмотри, какое сопоставление твоей базе стоит, скорее всего latin какой нибудь
    удали таблицы и сделай ALTER DATABASE имя базы DEFAULT CHARACTER SET ср1251 COLLATE ср1251_general_ci
     
  6. nops

    nops

    Регистр.:
    10 дек 2008
    Сообщения:
    262
    Симпатии:
    7
    сепоставление я пробовал менять и на utf8 и на cp1251, ничего не помагает.
    Делал это при помощи PhpMyAdmin
     
  7. ing

    ing Писатель

    Регистр.:
    8 янв 2008
    Сообщения:
    9
    Симпатии:
    1
    попробуй восстановить базу через Sypex Dumper Lite
     
  8. nops

    nops

    Регистр.:
    10 дек 2008
    Сообщения:
    262
    Симпатии:
    7
    А что это такое? можно попОдробнее?
     
  9. pozitive

    pozitive Прохожие

    Сопоставление нужно принудительно сообщать базе при каждом коннекте, изменение в ПМА не достаточно.
    Это можно прямо в неткате дописать сразу после коннекта базы применять нужные сопоставления, тогда будет ок.
     
  10. nops

    nops

    Регистр.:
    10 дек 2008
    Сообщения:
    262
    Симпатии:
    7
    Я не знаю вообще PHP, подскажите строчку, как принудительно сообщить базе кодировку. Я понимаю что это делается при обращении к базе из php-кода, только саму строку подскажите плиззз
     
Статус темы:
Закрыта.