phpmyadmin正在保存到mysql数据库而不是'from cakephp

时间:2011-11-21 14:48:46

标签: mysql cakephp cakephp-1.3

我从cakephp保存到数据库到mysql。当我使用phpmyadmin查看数据时,"driver's"被保存为“”驱动程序“。有没有办法将这些条目保存为普通转义字符?我认为蛋糕会在他们进入数据库之前处理这些问题。另外,如果我必须以这种方式保留它们,当我将它们从数据库中拉出来时,如何取消它们呢?

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 个答案:

答案 0 :(得分:1)

取消注释

'encoding' => 'utf8',

app/config/database.php中设置数据库。

答案 1 :(得分:0)

问题不在于角色没有得到很好的保存,而是你的phpmyadmin可能在另一个编码(可能是latin1)中显示它而不是保存为。

使用正确的编码获取字符应该没有问题。

它可能也不是一个真正的单引号,因为它应该很好地显示在latin1和utf-8编码中。

将phpmyadmin更改为不再在latin1中显示(因为您的角色不是latin1),还要将表更新为utf-8。否则,您可能遇到麻烦:您的专栏假定您的文本现在是latin1(字符集latin1 collat​​e latin1_bin),但它包含utf-8数据。