![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
мухр |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 11.8.2005 Репутация: нет Всего: нет |
Использую ORM Doctrine, та в свою очередь - расширение PDO. Пытаюсь поместить запись в БД, ипользуя Doctrine_Record::save() метод, встаёт как-то криво - мне даже кажатся, что в дважды юникод-закодированном виде. Когда получаю назад, некоторые символы выглядят следующим образом:
�?еверное им�? пользовател�? или пароль До�?туп �? вашего IP запрещён Сравнение текстовых ячеек - utf8_general_ci. Тип таблицы - InnoDB, но с другими типами такая же ерунда. Когда BLOB использую, то всё нормально, а с текстовым типом вот такая проблема. Это сообщение отредактировал(а) мухр - 21.1.2008, 13:27 |
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: нет Всего: 16 |
Да, вот это один из недостатков PDO - невозможно посмотреть запрос в каноническом виде, и убедиться, нормальные ли там данные.
два уровня абстракции над базой - пдо и доктрина. Если тебе конкретный ответ, где править, то тут я ничего не скажу. А если как искать ошибку, то очевидные вещи: проверить, какая кодировка при соединении, проверить, в каком виде данные лежат в базе, проверить, какая кодировка соединения, когда получаешь данные судя по тому, что в с блобом все нормально, то как-то неверно перекодирует база. может быть, там где-то UC2 стоит? |
|||
|
||||
мухр |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 11.8.2005 Репутация: нет Всего: нет |
Обычное указание "SET NAMES" решило проблему. В Доктрине это делается через Doctrine_Manager::setCharset().
|
|||
|
||||
Romiz |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 13.8.2006 Репутация: нет Всего: нет |
Hебольшое уточнение, это делается через
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Extensions | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |