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

Статус
В этой теме нельзя размещать новые ответы.

nops

Участник
Регистрация
10 Дек 2008
Сообщения
266
Реакции
8
Доброго всем времени суток!
Уважаемые модераторы, не бейте сильно, но я не нашёл решения моей проблемы.
Вообщем суть проблемы такая!
У меня стоял серв на 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 KB · Просмотры: 19
  • Заблокирован
  • #2
Просто сделай бэкап через функцию архив проекта и всё будет хорошо отоброжатся.
 
Просто сделай бэкап через функцию архив проекта и всё будет хорошо отоброжатся.

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

Что можно сделать? может я что не так делаю?
 
посмотри, какое сопоставление твоей базе стоит, скорее всего latin какой нибудь
удали таблицы и сделай ALTER DATABASE имя базы DEFAULT CHARACTER SET ср1251 COLLATE ср1251_general_ci
 
посмотри, какое сопоставление твоей базе стоит, скорее всего latin какой нибудь
удали таблицы и сделай ALTER DATABASE имя базы DEFAULT CHARACTER SET ср1251 COLLATE ср1251_general_ci
сепоставление я пробовал менять и на utf8 и на cp1251, ничего не помагает.
Делал это при помощи PhpMyAdmin
 
попробуй восстановить базу через Sypex Dumper Lite
 
сепоставление я пробовал менять и на utf8 и на cp1251, ничего не помагает.
Делал это при помощи PhpMyAdmin

Сопоставление нужно принудительно сообщать базе при каждом коннекте, изменение в ПМА не достаточно.
Это можно прямо в неткате дописать сразу после коннекта базы применять нужные сопоставления, тогда будет ок.
 
Сопоставление нужно принудительно сообщать базе при каждом коннекте, изменение в ПМА не достаточно.
Это можно прямо в неткате дописать сразу после коннекта базы применять нужные сопоставления, тогда будет ок.
Я не знаю вообще PHP, подскажите строчку, как принудительно сообщить базе кодировку. Я понимаю что это делается при обращении к базе из php-кода, только саму строку подскажите плиззз
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху