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 é díficil fazer isto.
Por isso fiz alguns exemplos, um em php usando iconv, outro 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.
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"
3 comentários:
Esse homi ta se vendendo ao mercado.
:P
Cade o exemplo em perl ?
Atendendo a pedidos, exemplo em perl:
use Text::Iconv;
$converter = Text::Iconv->new('UTF-8', 'ASCII//TRANSLIT');
print $converter->convert("Iúri Diniz come açúcar");
muito obrigado!!! você salvou minha vida, passei 5 horas pesquisando na net e só agora achei algo realmente útil para lidar com a porcaria do utf8 no php!!!
valeu mesmo!!!!
Postar um comentário