Substituir caracteres de controle Unicode

Preciso substituir todo caractere de controle especial em uma string em Java.

Quero perguntar à API do Google Maps v3, e o Google não parece gostar desses caracteres.

Exemplo:http://www.google.com/maps/api/geocode/json?sensor=false&address=NEW%20YORK%C2%8F

Este URL contém este caractere:http://www.fileformat.info/info/unicode/char/008f/index.htm

Portanto, recebo alguns dados e preciso geocodificá-los. Eu sei que algum personagem não passaria na geocodificação, mas não sei a lista exata.

Não consegui encontrar nenhuma documentação sobre esse problema. Acho que a lista de caracteres que o Google não gosta é a seguinte:http://www.fileformat.info/info/unicode/category/Cc/list.htm

Existe alguma função já criada para se livrar desses caracteres, ou eu tenho que criar um novo, com uma substituição um por um?

Ou existe um bom regexp para fazer o trabalho?

E alguém sabe qual lista exata de caracteres o Google não gosta?

Editar: o Google criou uma página da web para isso:

https://developers.google.com/maps/documentation/webservices/?hl=fr#BuildingURLs