我从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后尝试的最新字符集。但实际上我只是在对字符集进行猜测。
答案 0 :(得分:1)
取消注释
'encoding' => 'utf8',
在app/config/database.php
中设置数据库。
答案 1 :(得分:0)
问题不在于角色没有得到很好的保存,而是你的phpmyadmin可能在另一个编码(可能是latin1)中显示它而不是保存为。
使用正确的编码获取字符应该没有问题。
它可能也不是一个真正的单引号,因为它应该很好地显示在latin1和utf-8编码中。
将phpmyadmin更改为不再在latin1中显示(因为您的角色不是latin1),还要将表更新为utf-8。否则,您可能遇到麻烦:您的专栏假定您的文本现在是latin1(字符集latin1 collate latin1_bin),但它包含utf-8数据。