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

Reply via email to