Problemas com charset webservice rest json

Olá pessoal, eu estou com um probleminha bastante chato. Eu desenvolvi um webservice rest json em java usando Spring. O método recebe uma sentença em lingua portuguesa e faz um processamento. O problema é que quando recebo uma sentença com acentos, os acentos vem zuados. Por exemplo:
enviando: “quem é o seu irmão” eu recebo: “quem é o seu irmão”

Já tentei um monte de coisas como colocar no pom.xml:

<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	<java.version>1.8</java.version>
</properties>

também:

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-resources-plugin</artifactId>
	<configuration>
 		<encoding>UTF-8</encoding>
	</configuration>
</plugin>

o meu método no controler está assim:

@RequestMapping(value={"/listNer"}, method = RequestMethod.GET,produces={“application/json;charset=UTF-8”})
public Map<String , List> listNer(@RequestParam(value=“sentence”) String sentence,
@RequestParam(value=“id”) int id)
{

    	if (na == null){
    		na = new NerAux(nerconfrepository.findByIdNerconf(id));
    	}
    	
        return na.getNerEntities(sentence);
    }

meu retorno é sempre com os caracteres zuados. O que eu descobri que quando eu faço uma chamada ao método pela url. Exemplo:

http://localhost:8080/nlpservice-0.0.1/testT?sentence=quem%20é%20o%20seu%20irmão

As variáveis passadas pela chamada já chega com os caracteres zuados. Já tentei um monte de coisas e não dá certo. Alguém poderia me dar uma luz?

Bom, como você mencionou que o problema ocorre com os dados quando os mesmos são recebidos, sugiro tentar algo como substituir os caracteres especiais por seus correspondentes unicode ou ASCII, a partir do cliente. Caso contrário, terá muitos problemas.
Ah, em tempo, o encoding UTF-8 não é compativel com coisas como “ç”, “ã”, “é”, pois estes não fazem parte do alfabeto inglês.