Wanneer u individuele CHARACTER SETS
definieert voor uw kolommen overschrijft u de sortering die u standaard instelt op tabelniveau.
Elk van uw kolommen heeft standaard latin1
collatie (dat is latin1_swedish_ci
). Je kunt het zien door SHOW CREATE TABLE
uit te voeren .
In FULLTEXT
zoekopdrachten, geïndexeerde kolommen hebben COERCIBILITY
van 0
, dat wil zeggen dat alle fulltext-zoekopdrachten worden geconverteerd naar de sortering die in de index wordt gebruikt, niet omgekeerd.
U moet CHARACTER SET
verwijderen definities uit uw kolommen of stel alle kolommen expliciet in op latin1_german_ci
:
CREATE TABLE `hotels` (
`HotelNo` varchar(4) NOT NULL default '0000',
`Hotel` varchar(80) NOT NULL default '',
`City` varchar(100) default NULL,
`CityFR` varchar(100) default NULL,
`Region` varchar(50) default NULL,
`RegionFR` varchar(100) default NULL,
`Country` varchar(50) default NULL,
`CountryFR` varchar(50) default NULL,
`HotelText` text,
`HotelTextFR` text,
`tagsforsearch` text,
`tagsforsearchFR` text,
PRIMARY KEY (`HotelNo`),
FULLTEXT KEY `fulltextHotelSearch` (`HotelNo`,`Hotel`,`City`,`CityFR`,`Region`,`RegionFR`,`Country`,`CountryFR`,`HotelText`,`HotelTextFR`,`tagsforsearch`,`tagsforsearchFR`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci;
INSERT
INTO hotels (hotelText, HotelTextFR, tagsforsearch, tagsforsearchFR)
VALUES ('text', 'text', 'graubünden', 'tags');
SELECT *
FROM hotels
WHERE MATCH (`HotelNo`,`Hotel`,`City`,`CityFR`,`Region`,`RegionFR`,`Country`,`CountryFR`, `HotelText`, `HotelTextFR`, `tagsforsearch`, `tagsforsearchFR`)
AGAINST (CONVERT('+graubunden' USING latin1) COLLATE latin1_german1_ci IN BOOLEAN MODE)
ORDER BY
Country ASC, Region ASC, City ASC;