大家好我的数据库有问题,详细说明我有这张表:
CREATE TABLE `energy_vector` (
`id` char(36) NOT NULL,
`creation_date` datetime DEFAULT NULL,
`modification_date` datetime DEFAULT NULL,
`denomination` varchar(255) DEFAULT NULL,
`aliases` longtext,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 DEFAULT COLLATE utf8_general_ci;
此表包含一些行,特别是这两行存在问题:
INSERT INTO `energy_vector` (`id`, `creation_date`, `modification_date`, `denomination`, `aliases`) VALUES
('e4814054-5345-7ece-90aa-59e74b0008bb', '2017-10-18 14:38:44', '2017-11-15 15:17:10', 'Elettricità approvvigionata dalla rete elettrica', NULL),
('e59a4f52-8bba-734e-4a5e-59e74b464564', '2017-10-18 14:38:44', '2017-11-15 15:18:09', 'Elettricità prodotta da fonti rinnovabili', NULL);
请注意,这两行在denomination
列中都包含重音的字符串。
现在我执行这两个查询:
第一:
select * from energy_vector where denomination = 'Elettricità prodotta da fonti rinnovabili';
第二:
select * from energy_vector where denomination = 'Elettricità approvvigionata dalla rete elettrica';
第一个查询返回我搜索并正确匹配字符串的行,但是第二个查询没有返回任何内容。为什么呢?
我检查了数十亿的时间,字符串是正确的,但我认为这是一个问题,重点是charset或整理。谁能有解决方案并解释我为什么?提前谢谢。
MySQL版本:10.0.31-MariaDB