phpmyadmin сохраняет в базу данных mysql, а не из cakephp - PullRequest
1 голос
/ 21 ноября 2011

Я сохраняю в базу данных от cakephp до mysql.Когда я просматриваю данные с помощью phpmyadmin, "driver's" сохраняется как "драйвер".Есть ли способ сохранить эти записи как обычные escape-символы?Я думал, что торт позаботится об этом еще до того, как они попадут в базу данных.Кроме того, если мне нужно сохранить их таким образом, как мне их убрать, когда я вытаскиваю их обратно из базы данных?

CREATE TABLE IF NOT EXISTS `tablename` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `start` int(20) NOT NULL,
  `stop` int(20) NOT NULL,
  `completed` int(1) unsigned NOT NULL,
  `score` varchar(10) default NULL,
  `fc_module_id` int(11) unsigned NOT NULL,
  `fc_section_id` int(11) unsigned NOT NULL,
  `user_id` int(11) unsigned NOT NULL,
  `selections` text character set latin1 collate latin1_bin NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1035 ;

, столбец "выборы" - это тот, который доставляет мне проблемы.Он не всегда был установлен в latin1_bin, это просто последняя кодировка, которую я пробовал после того, как попробовал utf8_bin.Но на самом деле я только догадывался о наборе символов.

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

Раскомментируйте

'encoding' => 'utf8',

настройка для вашей базы данных в app/config/database.php.

0 голосов
/ 21 ноября 2011

Проблема не в том, что символ не сохраняется должным образом, а в том, что ваш phpmyadmin, вероятно, отображает его в другом наборе кодировки (вероятно, latin1), чем тот, который сохраняется как.

У вас не должно возникнуть проблем с выбором символа в правильной кодировке.

Вероятно, это не настоящая одинарная кавычка, так как она должна хорошо отображаться как в кодировке latin1, так и в utf-8.

После изменения вашего phpmyadmin, чтобы он больше не отображался в латинице 1 (потому что ваш персонаж не латынь 1), также обновите вашу таблицу до utf-8. В противном случае вы можете столкнуться с проблемой: ваш столбец предполагает, что ваш текст теперь является латинским1 (набор символов латинский1 сортировать латинский1_bin), но он содержит данные utf-8.

...