Dear Andy, > 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.
You can change the character set with the --default-character-set option when you start the server. The character sets available depend on the --with-charset=charset and --with-extra-charsets= list-of-charset | complex | all options to configure, and the character set configuration files listed in `SHAREDIR/charsets/Index'. http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Adm inistration.html#Character_sets If you change the character set when running MySQL (which may also change the sort order), you must run myisamchk -r -q -- set-character-set=charset on all tables. Otherwise, your indexes may not be ordered correctly. HTH! -- Stefan Hinz <[EMAIL PROTECTED]> CEO / Geschäftsleitung iConnect GmbH <http://iConnect.de> Heesestr. 6, 12169 Berlin (Germany) Telefon: +49 30 7970948-0 Fax: +49 30 7970948-3 ----- Original Message ----- From: "Andy Smith" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Saturday, December 07, 2002 5:04 AM Subject: Problems with upper/lowercase mappings > 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 > --------------------------------------------------------------------- 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