Здравствуйте. Помогите, пожалуйста, советом. Мне досталось следующее наследство: БД MySQL создана в кодировке KOI-8. Функционально БД разбита на две части, они между собой никак не связаны, не обмениваются данными и т.п. По-хорошему, это должны были быть две разные БД, но вторую на этом хостинге создать нельзя. В одной половине таблиц данные так и лежат в KOI-8, с ними все нормально. Данные во второй части занесены в кодировке Win-1251. Страницы, которые создаются на php, тоже в кодировке win-1251, там стоит и соответсвующий META-тег. Так вот, при выводе страниц, не всегда, но довольно часто возникает путаница в кодировках и все те тексты, что берутся из БД, выводятся в кодировке KOI-8! Иногда бывает достаточно один раз обновить страницу и все нормализуется. Иногда прихожится нажимать Refresh несколько раз.... У меня такое ощущение, что это происходит, когда коннект плохой. Как-будто что-то не дотягивается... Если связь хорошая, то этот эффект и вообще может не возникать. Но, к сожалению, часто бывает, что коннект не очень хороший Уже пробовала перед каждым запросом делать set character set cp1251 скорее от безысходности. Это никак не влияет на ситуацию.
Elena 1. сделай дамп базы и приведи все к одной кодировке. есть такая возможность? я бы поднапрягся и привел все в нудный вид 2. выдавай header ('content-type: text/html; charset=кодировка'); перед выдачей страницы если проблемы - пришли дамп мне на мыло. я причешу ...
Это делается. Страницы формируются с указанием нужной кодировки. Такая мысль и мне приходила в голову, но... Но это практически невозможно. Эти таблицы в общей сложности занимают 92М. Спасибо за предложение помощи, но хотелось бы обойтись без этого.
вот прямо вот такого кажися и нет.. есть немного другой.. делаешь дамп и дамп переконвертируешь "одним махом - семерых побивахом" в нужную кодировку конвертером текста.. после чего чуть-чуть правишь его ручками (кодировку у таблиц по умолчанию) и заливаешь обратно.. Не факт, что сущесвуют более человеческие методы.. но неразу не сталкивался с перекодировками и поэтому более практичных решений не вижу.
1. дамп в UTF-8. 2. в CREATE заменпить кодировку на нужную в редакторе, который поддерживает UTF-8 (MSWord) 3. залить дамп обратно. что не понятно-то?
Elena мы ищем оправдания или хотим решить проблему? 1. ворд я провел для примера 2. почему нет? ворд нормально съест эти 92М. даже не поперхнется. там же можно сделать автозамену.
тут ещё проблема может быть с выгрузкой/закачкой дампа.. попробуй прогу dumper .. ей такие дампы что семечки.. ну или из шела работай.