Question: I'd like to be able to do queries that normalize accented characters, so that for example:

```
é, è, and ê

```

are all treated as 'e', in queries using '=' and 'like'. I have a row with username field set to '**rené**', and I'd like to be able to match on it with both '**rene**' and '**rené**'.

I'm attempting to do this with the 'collate' clause in MySQL 5.0.8. I get the following error:

```
mysql> select * from User where username = 'rené' collate utf8_general_ci;
ERROR 1253 (42000): COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'

```

FWIW, my table was created with:

```
CREATE TABLE `User` (
  `id` bigint(19) NOT NULL auto_increment,
  `username` varchar(32) NOT NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `uniqueUsername` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=56790 DEFAULT CHARSET=utf8

```

Answer: 
I'd suggest that you save the normalized versions to your table in addition with the real username. Changing the encoding on the fly can be expensive, and you have to do the conversion again for every row on every search.

If you're using PHP, you can use [iconv()](http://fi.php.net/manual/en/function.iconv.php) to handle the conversion:

```
$username = 'rené';
$normalized = iconv('UTF-8', 'ASCII//TRANSLIT', $string);

```

Then you'd just save both versions and use the normalized version for searching and normal username for display. Comparing and selecting will be alot faster from the normalized column, provided that you normalize the search string also:

```
$search = mysql_real_escape_string(iconv('UTF-8', 'ASCII//TRANSLIT', $_GET['search']));
mysql_query("SELECT * FROM User WHERE normalized LIKE '%".$search."%'");

```

Of course this method might not be viable if you have several columns that need normalizations, but in your specific case this might work allright.
```
$normalized = iconv('UTF-8', 'ASCII//TRANSLIT', $string);

```

is a perfect php solution, but in mysql? CONVERT?

in mysql

```
SELECT 'Álvaro José' as accented, (CONVERT ('Álvaro José' USING ascii)) as notaccented

```

Produce:

```
Álvaro José     ?lvaro Jos?

```

The accented words is not converted to no accented words, it is not equivalent a translit of iconv.

RegExp don't work with UTF-8.

Not any solution.