Страница 1 из 1
MySQL + кодировка
Добавлено: 2008-05-13 7:49:09
Al
Вопрос такой: есть несколько прог, работающих с мускулем. Все пишут нормально русский в базы,кроме одной. В базе только вопросики..Как можно узнать, сама прога с русским не дружит,или просто кодировки не сходятся?
Re: MySQL + кодировка
Добавлено: 2008-05-13 8:09:07
ProFTP
1)посомтреть в какой кодирвоке програ работает, есди это пхп
2) посмотреть в какой кодировке база
3) использовать одну кодировку
Re: MySQL + кодировка
Добавлено: 2008-05-13 9:51:34
zg
Re: MySQL + кодировка
Добавлено: 2008-05-13 16:54:39
Al
прога на яве. в базе latin1 swedish.
по умолчанию база создается с кодировкой latin1_swedish_ci. При попытке записать туда русский прямо в мускуль - знаки вопросов. Если меняешь кодировку на понимабщую русский,все ок, но прога пишет все равно вопросиками в мускуль
Re: MySQL + кодировка
Добавлено: 2008-05-13 18:02:47
zg
нда... а кто-то мне говорил, что таких вопросов будет меньше
не поленись, сходи почитай статью, я там всё подробно расписал как, что и почему, и почему вопросики лезут, и как надо делать.
Re: MySQL + кодировка
Добавлено: 2008-05-14 8:24:19
Al
вот ты не поверишь, статью я прочитал и не раз, и еще кучу подобных по мускулю.. Выставление кодировок utf8, koi8r и cp2151 в самом мускуле и таблицах не спасают никаким образом. Просто я не спец в СУБД и думал,может кто подскажет еще какой вариант. А за статью автору спасибо. Хорошая статья.
Re: MySQL + кодировка
Добавлено: 2008-05-14 8:52:58
zg
Мускуль хранит данные в одной кодировке, а использует в кодировке клиента. Поэтому нужно создать таблицу в той кодировке, в которой данные будут храниться (например UTF8), потом выставить кодировку клиента через names, только тогда мускуль зная сходную и конечную кодировки сможет корректно работать с данными.
Re: MySQL + кодировка
Добавлено: 2008-05-14 9:13:21
zg
Al писал(а):Выставление кодировок utf8, koi8r и cp2151 в самом мускуле и таблицах не спасают никаким образом..
Версии мускула до 4.1.11 не поддерживают кодировки таблиц, у тебя какой мускул?
Re: MySQL + кодировка
Добавлено: 2008-05-14 9:33:00
Al
у меня 5.1. Засада оказалась в другом.
делаешь
Код: Выделить всё
set names 'cp1251';
show variables like 'char%';
все ок. показывает cp1251. А если посмотреть через phpmyadmin, то кодировки прежние. +Выходишь-заходишь клиентом и show variables like 'char%'; показывает старые кодировки. Изменение настроек надо как-то сохранять? В общем, решилось добавлением кодировок в конфиг. Но почему они из клиента не сохраняются?
Re: MySQL + кодировка
Добавлено: 2008-05-14 10:29:55
zg
Al писал(а):Но почему они из клиента не сохраняются?
клиент работает в сессии, на время сессии кодировки можно менять, после отключения клиента сессия удаляется, а для новой сессии кодировки берутся из настроек сервера.
Re: MySQL + кодировка
Добавлено: 2008-05-14 11:15:52
BlackCat
Al писал(а):В общем, решилось добавлением кодировок в конфиг.
Изменение конфига ведет к изменению дефолтных настроек для всех клиентов. Налаживая одну систему, можно порушить остальные.
=====
zg писал(а):клиент работает в сессии, на время сессии кодировки можно менять, после отключения клиента сессия удаляется, а для новой сессии кодировки берутся из настроек сервера.
Может этот момент отдельно в статье отметить?
Re: MySQL + кодировка
Добавлено: 2008-05-14 11:22:17
zg
BlackCat писал(а):Может этот момент отдельно в статье отметить?
нуу... это технология клиент-сервер, которая применяется не только для MySQL, но в php, HTTP и т.д. Но, в принципе, можно отметить, потому как первый раз действительно непонятно.
Я там забыл ещё один вопрос рассмотреть - что делать если изначально была кодировка неверной, а данные терять нельзя.

Сёдня-завтра обновлю

)
Re: MySQL + кодировка
Добавлено: 2008-06-20 20:54:12
-=Ded=-
вот и у меня сново гимор с кодировками при переносе сайта
phpmyadmin показывает обсалютно одинаковые настройки баз как на старом сервере(я имею ввиду сами кодировки), так и на новом, вся разница только в версиях мускуля 4.1 и 5.1.
другие базы с того сервера перенеслись и уже работают как надо, а с этой непонятки...
половина сайта правильная кодировка, а все новости из одной таблицы показываются как ????
самое непонятно то, что когда смотрю таблицы в самом phpmyadmin то никаких ??? нет, и все читаемо.
переносил как обычно , на старом из вебмина создал дамп, а на новом #mysql imia_bazy < damp.sql
в общем проблема решена, в движке сайта небыла указана кодировка запроса.
Re: MySQL + кодировка
Добавлено: 2009-02-13 0:50:36
Мишаня
-=Ded=- писал(а):
в общем проблема решена,
Можно по подробнее описать? Поставил MySQl50 и phpmyadmin кирилица выводит как ???