List:General Discussion« Previous MessageNext Message »
From:Gleb Paharenko Date:September 5 2005 9:12am
Subject:Re: Sorting results ith umlauts in UTF8 tables
View as plain text  
Hello.

Maybe this could help you somehow:
  http://bugs.mysql.com/bug.php?id=12191

Check that you are running the latest release.


Nico Grubert <nicogrubert@stripped> wrote:
> Hi there,
> 
> I am running MySQL 4.1 on Linux.
> I have some problems sorting records with german umlauts.
> 
> MySQL is configured to have character set "UTF8" as default.
> I have created a table like this:
> 
> CREATE TABLE tblmembers (
>   memberid int(11) NOT NULL auto_increment,
>   lastname varchar(255) NOT NULL default '',
>   location varchar(255) default NULL,
>   PRIMARY KEY  (memberid)
> ) ENGINE=MyISAM DEFAULT CHARSET=utf8
> 
> The, I have inserted some records:
> INSERT INTO tblmembers (lastname,location) VALUES ('Ober','Germany');
> INSERT INTO tblmembers (lastname,location) VALUES ('Ohm','Germany');
> INSERT INTO tblmembers (lastname,location) VALUES ('$hlz','Germany');
> INSERT INTO tblmembers (lastname,location) VALUES ('$der','Germany');
> INSERT INTO tblmembers (lastname,location) VALUES ('Ower','Germany');
> 
> Now, I would like get all members whose lastname starts with 'O' (and 
> also with umlaut '$') sorted by lastname according to german sorting 
> rules, so my SQL query reads like this:
> 
> I tried:
> SELECT *
>   FROM tblmembers
>   WHERE lastname LIKE 'O%' OR lastname LIKE '$%'
> 
> The result reads like this:
> Ober
> Ohm
> Ower
> 
> Do I need to covert the '$%' somehow so the records starting with '$' 
> are also found?
> 
> 
> Example 1:
> SELECT *
>   FROM tblmembers
>   ORDER BY lastname
> 
> returns:
> $hlz
> $der
> Ober
> Ohm
> Ower
> 
> ..which is wrong according to german sorting rules.
> 
> 
> Example 2:
> SELECT *
>   FROM tblmembers
>   ORDER BY lastname
>   COLLATE utf8_general_ci
> 
> returns:
> $hlz
> $der
> Ober
> Ohm
> Ower
> 
> The proper sorting order according to german sorting rules is:
> Ober
> $der
> Ohm
> $hlz
> Ower
> 
> 
> Any idea how I can sort the results proper?
> 
> Nico
> 


-- 
For technical support contracts, goto https://order.mysql.com/?ref=ensita
This email is sponsored by Ensita.NET http://www.ensita.net/
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /    Gleb Paharenko
 / /|_/ / // /\ \/ /_/ / /__   Gleb.Paharenko@stripped
/_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.NET
       <___/   www.mysql.com



Thread
Sorting results ith umlauts in UTF8 tablesNico Grubert3 Sep
  • Re: Sorting results ith umlauts in UTF8 tablesGleb Paharenko5 Sep