"Desacentuar" Strings

Olá:

Preciso de alguma dica para converter letras acentuadas em não acentuadas numa determinada String.

Ex:
são -> sao
ação -> acao
FLÁVIO -> FLAVIO
etc.

Sera que alguma coisa envolvendo a classe java.text.Collator ajuda?

Grato,

Olá

Um método simples em português é fazer na raça substituindo (com ou sem expressão regular) ã por a, á por a, à por a, â por a, é por e, ê por e, í por i, ó por o, ô por o, õ por o, ú por u, ü por u, ç por c e idem para as maiúsculas.

[]s
Luca

Luca:

Foi o que acabei fazendo:

    private char convertChar(char c) {

        switch (c) {
            case 'Á':
            case 'Ä':
            case 'À':
            case 'Â':
            case 'Ã':
                c = 'A';
                break;
            case 'Ç':
                c = 'C';
                break;
            case 'É':
            case 'Ë':
            case 'È':
            case 'Ê':
                c = 'E';
                break;
            case 'Í':
            case 'Ï':
            case 'Ì':
            case 'Î':
                c = 'I';
                break;
            case 'Ñ':
                c = 'N';
                break;            
            case 'Ó':
            case 'Ö':
            case 'Ò':
            case 'Ô':
            case 'Õ':
                c = 'O';
                break;
            case 'Ú':
            case 'Ü':
            case 'Ù':
            case 'Û':
                c = 'U';
                break;
            case 'á':
            case 'ä':
            case 'à':
            case 'â':
            case 'ã':
                c = 'a';
                break;
            case 'ç':
                c = 'C';
                break;
            case 'é':
            case 'ë':
            case 'è':
            case 'ê':
                c = 'e';
                break;
            case 'í':
            case 'ï':
            case 'ì':
            case 'î':
                c = 'i';
                break;
            case 'ñ':
                c = 'n';
                break;            
            case 'ó':
            case 'ö':
            case 'ò':
            case 'ô':
            case 'õ':
                c = 'o';
                break;
            case 'ú':
            case 'ü':
            case 'ù':
            case 'û':
                c = 'u';
                break;
        }

        return c;
    }


// ...
        char[] chars = obj.toString().toCharArray();
        for(int i = 0; i < chars.length; i ++) {
            chars[i] = this.convertChar(chars[i]);
        }
        return new String(chars);

Se alguém tiver uma idéia melhor, me avise.

Grato,

Uma solução mais completa pode ser encontrada aqui.