Hi folks.

I have an application in which I require the only case equivalencies
to be a-z A-Z.  What I mean is, e/E should be regarded as identical
in strings, but neither e/É (E-acute) nor é (e-acute)/É (E-acute)
should be regarded as identical.

When the application was first written I was completely ignorant of
this issue and so did no special coding, and used plain VARCHAR
columns.  Now I find that eéÉ are all regarded as the same by MySQL,
but not by the client app I have connected to it.  I'm now trying to
work out how to fix that.

My first idea was to use the BINARY attribute on those columns.
This would seem to make the likes of e/É (E-acute) not match, which
is what I want.  Of course this would also prevent e/E from being
regarded as the same, so my plan was then to make sure that anytime
a string was taken from the client I would use LOWER() on it.  I was
happy with that plan until I discovered:

mysql> select lower("É");
+------------+
| lower("É") |
+------------+
| é          |
+------------+

(if this isn't coming out in your email, E-acute comes out as
e-acute when you use LOWER() on it).

There is no way I can make my client app regard é and É to be
identical, even if I want it to, even if it would seem logical to
you that it should be so.  This cannot be changed.  So, I'm now at a
loss as how to store and work with this in MySQL.  I need to use
some of those columns as keys, and for joining tables, too.

Does anyone have any ideas how I can make this work?

Thanks for your time!

-- 
"The electric guitar - like making love - is much improved by a little
 feedback, completely ruined by too much."
 -- The League Against Tedium

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to