Mysql, php и опять кодировка

scriper

Новичок
Mysql, php и опять кодировка

Есть сайт, данные хранятся в mysql базе. В работе с бд никаких запросов myql_query("set cp1251") нет, но при этом текст на сайте отображается нормально. В phpmyadmin видны кракозябры типа Óñëóãè. Понадобилось перенести дамп таблицы с новостями с другого сайта на этот. Делаю из phpmyadmin запрос:
INSERT INTO `news` (`newsid`, `adddate`, `title`, `fullcontent`, `content`) VALUES
(1, '2004-06-28', 'Новый веб-сайт ...
Это отображается уже и в phpmyadmin и на сайте вопросами типа ?????? ???....
FAQ на этом сайте я прочитал несколько раз, однако решения там не нашел.
P.S. если добавить после конекта к базе myql_query("set cp1251") , весь текст отображается криво(то что было и новостис другого сайта), а если ставить myql_query("set latin1") старый текст снова отображается нормально, а новый опять вопросами.
 

Фанат

oncle terrible
Команда форума
странно, почему после прочтения фака на этом сайте, ты стал почему-то писать myql_query("set cp1251") , а не выяснил, в первую очередь, В КАКОЙ КОДИРОВКЕ у тебя хранятся данные, какая кодировка установлена на сервере, и какая - у mysql клиента в скрипте
 

nimistar

Новичок
Фанат в верную сторону смотрит :)

Просто расширю ...
сначало вопросы :)

Снимаешь чем дампы ?? (судя повсему ПХПМойАдмин...)
А импортируешь им же?

Для импорта есть два метода это через вкладку SQL и через вкладку "импорт" (путем заливки файла дампа)
так вот при "Импорте" можно указать кодировку обрабатываемого дампа ...

поиграйся с ней .... должно помочь!
 

scriper

Новичок
Дамп снимал не я, но снят был phpadmin'ом. Попробовал обоими способами(через phpmyadmin), так вот во втором случае кодировку обрабатываемого файла поставил utf8(т.к. файл в этой кодировке записан). В обоих случаях результат один- вместо текта вопросы.
Из phpmyadmin'a узнал:
MySQL-кодировка: UTF-8 Unicode (utf8)
Сравнение latin1_swedish_ci(что означает этот параметр незнаю :( )
Сайт выводит все в windows-1251, и отображается вопросами только то, что было залито через phpmyadmin. В php коде сайта никаких намеков на кодировку mysql нет.
 

nimistar

Новичок
посмори дамп ... если прочесть можешь(то что на русском), то скорее всего cp1251 ... соттветственно и рпи "импорте" её указывать надо!

(кстати phpmyadmin автоматом работает в основном с UTF-8 Unicode - но это незначит что у тебя и база в этой кодировке ... прочти "Переменные и настройки сервера", с главной страници есть ссылка, там точно указанно какие, где и когда!)
 

scriper

Новичок
Зделал так: сохранил старый дамп в коировке cp1251, зделал из него php скрипт, запустил и стало все нормально. Только теперь интересует вопрос как делать все это через phpmyadmin, и почему в нем данные отображаются криво(хранится в кодировке cp1251).
 

Фанат

oncle terrible
Команда форума
scriper
обо всем об этом подробно написано в FAQ этого форума.
 

scriper

Новичок
Автор оригинала: nimistar
посмори дамп ... если прочесть можешь(то что на русском), то скорее всего cp1251 ... соттветственно и рпи "импорте" её указывать надо!

(кстати phpmyadmin автоматом работает в основном с UTF-8 Unicode - но это незначит что у тебя и база в этой кодировке ... прочти "Переменные и настройки сервера", с главной страници есть ссылка, там точно указанно какие, где и когда!)
Прочесть могу если в kate установлена кодировка utf8, временное решение выше указал.

-~{}~ 25.05.07 14:10:

Автор оригинала: Фанат
scriper
обо всем об этом подробно написано в FAQ этого форума.
Можно ссылку? :)
 

scriper

Новичок
если ты про http://www.phpclub.ru/faq/Mysql41Rus, да читал.
только вот следуя первому совету(симптомы с вопросами), добиться ничего не получилось.
 

totamon

Новичок
Сравнение latin1_swedish_ci(что означает этот параметр незнаю )
имхо из-за этого все глюки...
сними дамп (вроде ты это уже сделал), удали таблицы и смени Сравнение latin1_swedish_ci через пхпмайадмин (Операции) на ср251_general_ci.
Убедись что дамп у тебя в вин кодировке, если в ЮТФ что вполне вероятно из твоего поста - конвертни, многие редакторы например akelpad могут это, и залей в БД по новой.
Главно не потеряйся в этих кодировках...:) пока из твоих постов сумбур какой-то...
Зделал так: сохранил старый дамп в коировке cp1251, зделал из него php скрипт, запустил и стало все нормально.
=>
Прочесть могу если в kate установлена кодировка utf8, временное решение выше указал.
дак в cp1251 дамп или в utf8?
через phpmyadmin, и почему в нем данные отображаются криво(хранится в кодировке cp1251).
а phpmyadmin в какой кодировке у тебя настроен? именно показ страниц а не БД...?
 

Mols

Новичок
Блин... ну я бы так сделал..
Посмотрел бы как коннектится твой скрипт (на работающем сайте) кодировку в смысле ...
Посмотрел бы на таблицы на обоих базах... (имеется в виду кодировка данных)
Слил бы дамп в той же кодировке, в которой запихивает их твой сайт.
Поправил бы(если есть) различия в кодировках таблиц исходной и целевой базы.
И впихнул бы новые данные в целевую базу.... установив перед этим кодировку для соединения такую же как на исходной базе...
Ну и ... для последующих соединений с новой базой опять же... надо делать тот же сетнамес.... как и на работающей стороне(и на запись и на чтение)
Собстно... просто аккуратненько и усё будет пучком ))
 

scriper

Новичок
Автор оригинала: totamon
имхо из-за этого все глюки...
сними дамп (вроде ты это уже сделал), удали таблицы и смени Сравнение latin1_swedish_ci через пхпмайадмин (Операции) на ср251_general_ci.
Убедись что дамп у тебя в вин кодировке, если в ЮТФ что вполне вероятно из твоего поста - конвертни, многие редакторы например akelpad могут это, и залей в БД по новой.
Главно не потеряйся в этих кодировках...:) пока из твоих постов сумбур какой-то...

=>

дак в cp1251 дамп или в utf8?

а phpmyadmin в какой кодировке у тебя настроен? именно показ страниц а не БД...?
Был в utf8, конвертировал в cp1251.
 
Сверху