J'ai une fonction de recherche, je veux que ce soit insensible à la casse, y compris des personnages comme EUO etc.MySQL UPPER() et inférieur() ne fonctionne pas avec utf-8 caractères
, je transforme l'entrée en majuscules avant d'interroger la base de données. Mais MySQL ne convertit pas les caractères accentués correctement. J'ai MySQL 5.1.32, j'ai essayé différents classements mais aucun ne semble fonctionner correctement. Même chose avec LOWER().
CREATE TABLE `items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`description` text CHARACTER SET utf8 COLLATE utf8_bin,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=187 DEFAULT CHARSET=utf8"
Le champ de description contient 'hellö'. Mysql le convertit en 'HELLö'. Je veux 'HELLÖ'.
S'il vous plaît poster le résultat de SHOW CREATE TABLE points'une, la valeur de la 'input' de $ et la valeur de' name' que vous attendez de match. – Quassnoi
Fait! (également changé en champ de description au lieu de nom) –
vous utilisez 'UTF8_BIN' qui est sensible à la casse et à l'accent. Utilisez 'UTF8_GENERAL_CI' à la place. – Quassnoi