无法为我的表单找到正确的排序规则/字符集

时间:2013-05-20 07:45:11

标签: database character-encoding collation

我已经设置了一个简单的引导页面来在我的数据库中插入行,但是我无法让数据库以正确的格式/字符集保存。

我希望它支持多种语言,因为我正在保存来自不同国家/地区的啤酒名称,但即使我将排序规则设置为受影响行上的特定语言并且只提交该字符集中的字母,它仍然无法保存这些字母是正确的。

这是我从db导出的表:

CREATE TABLE IF NOT EXISTS `Favorites` (
  `fav_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` varchar(55) CHARACTER SET utf8 COLLATE utf8_danish_ci NOT NULL,
  `fk_beer_id` int(11) NOT NULL,
  `fav_comment` varchar(255) CHARACTER SET utf8 COLLATE utf8_danish_ci DEFAULT NULL,
  PRIMARY KEY (`fav_id`),
  KEY `FK_FavBeer_Beer` (`fk_beer_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

我感到困惑的是(在PhpMyAdmin中)我可以在db,table和row上设置排序规则。

我的数据库在哪里以及哪种排序规则适合?

编辑:

可能是因为我使用ajax发送表单:

我有以下设置:

contentType:“application / x-www-form-urlencoded; charset = UTF-8”,

1 个答案:

答案 0 :(得分:0)

解决了它。

在php文件中使用了utf8_decode ..