Uma das formas que encontrei para detectar o encoding/charset de um arquivo no Linux foi usando um programinha chamado Enca. Ele faz tanto a detecção quanto a conversão de encoding de arquivos.
.
.
.
.
.
[root@caio ~]# lynx -dump -listonly caioariede.com | grep "^ [0-9]" | cut -d" " -f4
http://caioariede.com/blog
http://caioariede.com/portfolio
http://del.icio.us/caioariede
…
Uma técnica muito comum hoje em dia é o uso de URLs Amigáveis (limpas), ou então, em ingles: Search engine friendly URLs.
Estou disponibilizando um algoritmo que tenho utilizado em alguns projetos.