Mailinglisten-Archive |
Hallo Michael, Am Mittwoch, 7. November 2007 schrieb Michael Dunkel: > Lutz Zetzsche schrieb: > > die Frage ist, wie die Spalten angelegt sind, die Du durchsuchst. > > Ist die Kollation "ci" - case-insensitive - oder "cs" - > > case-sensitive? Handelt es sich um Text- oder Binärfelder? Letztere > > sind > > case-sensitive. > > > > Siehe auch: > > http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html [...] > ich muss nochmal dazu sagen, wo die Tabelle noch nicht so viele > Einträge hatte, ging die suche mit Like ohne Problem > > CREATE TABLE `Keyword` ( > `keyid` bigint(20) unsigned NOT NULL auto_increment, > `keyword` varchar(80) collate utf8_bin NOT NULL, > `urlencoded_keyword` varchar(255) collate utf8_bin NOT NULL, > PRIMARY KEY (`keyid`), > UNIQUE KEY `keyword` (`keyword`) > ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin > AUTO_INCREMENT=22424830 ; > > ich dachte mir ich nehm UTF-8 weil ich recht viele Sprachen abdecken > muss ... alleine bei der Umstellung von ISO-8859-1 auf UTF-8 wird die Datenmenge schon größer. Trotzdem ist UTF-8 natürlich in Deinem Fall sinnvoll. ;-) Die Antwort für Dein Problem sollte der Parameter "COLLATE=utf8_bin" in Deinem CREATE-Statement sein. Das "bin" steht für "binary", d.h. es handelt sich um Binärfelder. Die sind case-sensitive. Wenn Du das anders brauchst, mußt Du die Felder umwandeln. Viele Grüße, Lutz
php::bar PHP Wiki - Listenarchive