Zend Framework : mysqlpdo - проблема с кодировкой

ns

Новичок
Zend Framework : mysqlpdo - проблема с кодировкой

Начал разбираться с ZF и столкнулся с проблемой:

С базой работаю через pdoMysql драйвер в Zend DB

Статьи помещаются в базу нормально , но

1) когда стал добавляю 'теги' ( уникальные слова статьи ) в базу , то вместо них '???'
Причем запрос строится по полной аналогии что и статьи.

2) когда стал делать выборку id тегов по имени тега, то получаю ошибку
Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=''

Пришлось применить BINARY.

Тогда я поставил при инициализации Zend_Db SET NAME cp1251 и у меня вообще весь текст стал в вопросах.

Mysql База и сервер работают в cp1251, по SHOW VARIABLES через Zend
выдается что кодировка клиента latin1.

Кто что может подсказать по данному вопросу ?
Увы с pdo еще не работал.
 

ns

Новичок
Yaponchick
опечатался, конечно SET NAMES

Все, нашел причину.
Забыл что обновился на MySQL 4.1 , а в нем кодировка ставится на каждый столбец.

В результате когда создавал первую запись без установленной SET NAMES cp1251 т.е. client_charset была latin1 , то mySQL назначал кодировку на столбцы как у клиента, а не cp1251, которая была задана для таблицы.

В результате когда уже при введенных данных ставил SET NAMES 1251 появлялись сплошь вопросы.

Такой вот ньюанс, получился.
 
Сверху