http://qs321.pair.com?node_id=607749


in reply to locales, encodings, collations, charsets... how can I match a given MySQL collation?

Have a look at Unicode::Collate.
#!/usr/bin/perl use Unicode::Collate; my $coll = Unicode::Collate->new; my $e = "\xe9clair"; my @cmp = qw/ aardvark each eden zarkon /; for my $d ( @cmp ) { printf "%10s ccmp %5s = %d\n", $d, $e, $coll->cmp( $d, $e ); } __END__ aardvark ccmp éclair = -1 each ccmp éclair = -1 eden ccmp éclair = 1 zarkon ccmp éclair = 1
Update:: Another approach would be to use Text::Unidecode, and strip off any accents before doing the comparison.