Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > php + mysql кодировка


Автор: AlexEt 6.7.2009, 14:46
вообщем проблема такая...есть страничка, на которой ссылка  открывающая другую страницу
на открывшейся странице есть textarea из которого отправляется аякс запрос к пхп скрипту тот все верно воспринимает...
печатал текст запроса- все верно, а в базу не правильно пишет кодировку,
в базе поле text с кодировкой utf_general_ci 
в config.php устанавливаю для базы:
mysql_query("SET NAMES cp1251");
mysql_query("SET character_set_database=cp1251");
mysql_query("SET character_set_server=cp1251");


в чем проблема, подскажите пожалста, заранее благодарен....

Автор: Ипатьев 6.7.2009, 14:49
Цитата(AlexEt @  6.7.2009,  14:46 Найти цитируемый пост)
в базу не хочет правильно писать

Полагаешь, такого описания проблемы достаточно, чтобы найти ответ? 

Автор: bars80080 6.7.2009, 18:07
аякс работает только с utf-8. 

поэтому при приёме от аякса необходимо данные iconv('utf-8', 'cp1251', $data);
а при высылке данных обратно, может ещё что-то придётся замутить.

также помогает, если дополнительно конвертировать данные на стороне клиента encodeURIComponent()
а на сервере rawurldecode()

Автор: Ипатьев 6.7.2009, 19:26
осталось понять, зачем делать iconv utf-8 -> cp1251, чтобы база потом делала  cp1251 -> utf-8

Автор: bars80080 6.7.2009, 22:23
Цитата(Ипатьев @  6.7.2009,  19:26 Найти цитируемый пост)
чтобы база потом делала  cp1251 -> utf-8 

это где база такое делает?

Автор: Ипатьев 6.7.2009, 22:27
Цитата(AlexEt @  6.7.2009,  14:46 Найти цитируемый пост)

mysql_query("SET NAMES cp1251");


Автор: bars80080 6.7.2009, 22:33
и как это 
Цитата(Ипатьев @  6.7.2009,  22:27 Найти цитируемый пост)
mysql_query("SET NAMES cp1251");

связано с 
Цитата(Ипатьев @  6.7.2009,  19:26 Найти цитируемый пост)
чтобы база потом делала  cp1251 -> utf-8

?

Добавлено через 56 секунд
послушайте товарищ, если хотите сказать что-то конкретное, то будьте добры расскажите. а то мы тут полночи будем недомолвками переписываться

Автор: Ипатьев 6.7.2009, 22:58
Цитата(AlexEt @  6.7.2009,  14:46 Найти цитируемый пост)
в базе поле text с кодировкой utf_general_ci 


Автор: bars80080 6.7.2009, 23:09
дааа, с первого раза не заметил. тогда, для вноса надо только set names и прочие поменять

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)