Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Проблемы с кодировкой (character_set_server)

Сообщения:  [1-10]   [11-16] 

 
 автор: nurdus   (29.03.2011 в 00:27)   письмо автору
 
   для: cheops   (28.03.2011 в 16:15)
 

ОГРОМНОЕ СПАСИБО! Всё работает. Скажите, если могу вам чем нибудь помощь (или отблагодарить...)

  Ответить  
 
 автор: nurdus   (28.03.2011 в 16:45)   письмо автору
 
   для: cheops   (28.03.2011 в 16:15)
 

Большое спасибо, будем пробовать. )

  Ответить  
 
 автор: cheops   (28.03.2011 в 16:15)   письмо автору
 
   для: nurdus   (28.03.2011 в 16:06)
 

phpMyAdmin как раз сам позаботится о настройки кодировки соединения. А вот при работе из ваших собственных скриптов MySQL нужно сообщать в какой кодировки вы предоставляете ей данные. Если вы отсылаете MySQL-серверу данные в кодировке Windows-1251, то первый запрос после установки соединения должен быть
SET NAMES cp1251;
Если передаете данные в кодировке UTF-8, то первый запрос должен быть
SET NAMES utf8;
Если во время сеанса меняете кодировку отправляемых данных, нужно выполнять соответствующие запросы.

PS В противном случае, MySQL считает, что данные передаются в шведской кодировке.

  Ответить  
 
 автор: nurdus   (28.03.2011 в 16:06)   письмо автору
 
   для: cheops   (28.03.2011 в 11:44)
 

>Вы перекодировали данные 1251 в utf-8 перед помещением в базу данных?
нет, данные остались в 1251

>Или указывали set names cp1251, если заливались данные в win-1251?
поле которое криво отображается имеет кодировку 1251...

и что значит set names cp1251? (из csv данные импортировались не через пхпмайадмин, а через сам сайт)

  Ответить  
 
 автор: cheops   (28.03.2011 в 11:44)   письмо автору
 
   для: nurdus   (28.03.2011 в 01:37)
 

>данные через csv импорт в кодировки 1251...
Вы перекодировали данные 1251 в utf-8 перед помещением в базу данных? Или указывали set names cp1251, если заливались данные в win-1251?

  Ответить  
 
 автор: nurdus   (28.03.2011 в 01:37)   письмо автору
 
   для: nurdus   (26.03.2011 в 12:10)
 

Вообщем попробовал с измененной кодировкой (на утф-8) нужного поля и самой таблицы перезалить (предварительно удалив содержимое) данные через csv импорт в кодировки 1251... результат тот же... (((

Есть ли какие ли идеи по этому поводу у кого нибудь?... Срочна нужна помощь!..

  Ответить  
 
 автор: cheops   (26.03.2011 в 13:31)   письмо автору
 
   для: nurdus   (26.03.2011 в 13:28)
 

>phpmyadmin 3.3.10
Странно, обычно он такие запросы корректно обрабатывает...

  Ответить  
 
 автор: nurdus   (26.03.2011 в 13:28)   письмо автору
 
   для: cheops   (26.03.2011 в 13:26)
 

>Нужно добиться того, чтобы кодировка в таблице везде куда попали данные Win-1251 была cp1251 и в самой таблице и столбцах.

сейчас попробуем поменять

>Хм... странно, а вы в какой среде этот запрос выполняете?

phpmyadmin 3.3.10

  Ответить  
 
 автор: cheops   (26.03.2011 в 13:26)   письмо автору
 
   для: nurdus   (26.03.2011 в 13:12)
 

>да, имею ввиду кодировку.
Нужно добиться того, чтобы кодировка в таблице везде куда попали данные Win-1251 была cp1251 и в самой таблице и столбцах. Это важно еще из-за того, что если таблица будет пополняться, у вас будет смешанные данные - половина в cp1251, половина в utf-8 и тогда решить проблему, без ручного вмешательства будет вообще невозможно. Т.е. все CHARACTER SET должны указывать истинную кодировку данных - тогда MySQL сможет корректно их преобразовывать в ту кодировку, которую запрашивает клиент.

>SHOW CREATE TABLE cms_es_cats выдал только:
>cms_es_cats 435245415445205441424c452060636d735
>f65735f636174736020280a202060696460 20696e7428313129204e4f54204e552e2e2
Хм... странно, а вы в какой среде этот запрос выполняете?

  Ответить  
 
 автор: nurdus   (26.03.2011 в 13:12)   письмо автору
 
   для: cheops   (26.03.2011 в 13:03)
 

да, имею ввиду кодировку.

SHOW CREATE TABLE cms_es_cats выдал только:
cms_es_cats 435245415445205441424c452060636d735 f65735f636174736020280a202060696460 20696e7428313129204e4f54204e552e2e2

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования