Símbolos estranhos - Método 'replace'

Pessoal, escrevi um código que teoricamente serviria para fazer a limpeza de nomes.

Exemplo:

m[áriNà[~^ --> marina

Fiz vários métodos separados, onde cada um era responsável por fazer uma parte. No método ‘final’, eu falava que tudo
que não fosse letra (usando os códigos da tabela ASCII) seria trocado por vazio, usando o seguinte:

char vazio = (char) 0;
palavra = palavra.replace (letra[i], vazio);

Mas o Eclipse substitui todos os caracteres estranhos por um símbolo que não consigo colar aqui.
É um quadrado, mas só com as bordas.

E quando eu abro o arquivo final no BROffice, ao invés dos quadrados vazados que aparecem no Eclipse, aparecem ‘?’.

Exemplo:

m[áriNà[~^ --> m?arina???

Já no Word aparecem caracteres mais estranhos do que os anteriores, de forma que o código inteiro não serviu para nada.

Alguém faz idéia do que está acontecendo e como eu posso controlar esses símbolos?

Obrigado.

Não existe caracter vazio.

Vc não esta trocando por vazio, esta colocando um NULL \0 em cada posição.

Sugiro usar o replaceAll que aceita uma string vazia.

Sim, estou colocando um null.
Pensei que não fosse aparecer nada, já que é null.
Mas pelo visto me enganei.
Obrigado, vou tentar essa mudança.

Olá

char vazio = ‘\u0000’

Abraço