Quando se está fazendo uma pesquisa de palavras em um banco de dados é melhor converter todos os caracteres acentuados em seus correspondentes sem acentos. Pesquisei e descobri que não é difícil fazer isto.
Por isso fiz alguns exemplos, um em php usando iconv, em python usando o suporte nativo da linguagem. Acredito que o exemplo usando iconv possa ser usado em C/C++ (man 3 iconv) visto que funciona em linha de comando (man 1 iconv) como mostrado no último exemplo.
(17/12/2010) Há também um exemplo em perl como pedido por Aurélio
Em todos os exemplos eu uso UTF-8.
Exemplo em php:
setlocale(LC_ALL, 'en_US.UTF8');
$string = "Iúri Diniz come açúcar";
echo iconv('UTF-8', 'ASCII//TRANSLIT', $string) . "\n";
Exemplo em python:
import unicodedata
string = "Iúri Diniz come açúcar"
print unicodedata.normalize(
"NFKD", string.decode('utf-8')).encode('ascii', 'ignore')
Exemplo usando linha de comando(bash):
echo "Iúri Diniz come açúcar" | iconv -f "UTF-8" -t "ASCII//TRANSLIT"
Exemplo usando perl:
use Text::Iconv;
$converter = Text::Iconv->new('UTF-8', 'ASCII//TRANSLIT');
print $converter->convert("Iúri Diniz come açúcar")