programing

MySQL 선택이 필드에 액센트가 포함된 경우 올바르게 작동하지 않음

instargram 2023. 9. 4. 19:32
반응형

MySQL 선택이 필드에 액센트가 포함된 경우 올바르게 작동하지 않음

안녕 얘들아 나는 내 DB에 문제가 있어, 세부적으로 나는 이 테이블을 가지고 있어:

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';

첫 번째 쿼리는 내가 검색하고 문자열과 정확히 일치하는 행을 반환하지만 두 번째 쿼리는 아무것도 반환하지 않습니다. 왜죠?

문자열이 정확한지 수십억 번 확인했는데, 문자 집합이나 모음에 묶인 악센트의 문제인 것 같습니다.누가 해결책을 가지고 이유를 설명해 줄 수 있습니까?잘 부탁드립니다.


MySQL 버전: 10.0.31-마리아DB

언급URL : https://stackoverflow.com/questions/48745341/mysql-select-not-work-correctly-on-fields-contain-accents

반응형