Acentos

estou usando a seguinte instrução:

String consultar = "SELECT nome_produto FROM produtos WHERE UPPER(nome_produto) LIKE UPPER ('%" + pesquisa  + "%') ORDER BY nome_produto";

Por exemplo, no meu bd tenho os produtos: Uva, Morango, Romã, etc.
Entao qndo o cliente digita morango com o m minusculo, ele nao encontra no banco postgresql, entao utilizei o comando sql acima para q ele passe a pesquisa do cliente toda para maiusculo e passe a do banco tbem para maiusculo…ai ele consegue encontrar tanto MoRangO, qualquer combinacao d maiuscula e minuscula…

O meu problema é o seguinte: Se no banco tiver uma palavra com acento e o cliente digitar essa mesma palavra sem acento, ele nao encontra…como faço para corrigir isso? tipo no banco tem Pêssego, entao se ele digitar somente pessego, encontrar?

Neste caso você pode substituir as palavras com acento tirando elas

Exemplo:
ê,é substiui por e
á,à,â,ã substitui por a
e assim vai…

Deve existir outros caminhos para se fazer tal caso, talvez o pessoal escreva mais idéias ae.