Я бы посоветовал вам сохранить нормализованные версии в вашей таблице в дополнение к реальному имени пользователя. Изменение кодировки на лету может быть дорогостоящим, и вам придется снова выполнять преобразование для каждой строки в каждом поиске.
Если вы используете PHP, вы можете использовать iconv () для обработки преобразования:
$username = 'rené';
$normalized = iconv('UTF-8', 'ASCII//TRANSLIT', $string);
Тогда вы просто сохраните обе версии и будете использовать нормализованную версию для поиска и обычное имя пользователя для отображения. Сравнение и выбор будет намного быстрее из нормализованного столбца, при условии, что вы также нормализуете строку поиска:
$search = mysql_real_escape_string(iconv('UTF-8', 'ASCII//TRANSLIT', $_GET['search']));
mysql_query("SELECT * FROM User WHERE normalized LIKE '%".$search."%'");
Конечно, этот метод может оказаться неэффективным, если у вас есть несколько столбцов, которые нуждаются в нормализации, но в вашем конкретном случае это может сработать нормально.