Строка в Java всегда находится в Юникоде (UTF-16, эффективно). Преобразования необходимы только тогда, когда вы пытаетесь перейти от текста к двоичной кодировке или наоборот.
Какой персонаж задействован? Вы уверены, что он присутствует даже в ISO Latin 1? Если это так, я ожидаю, что этот символ будет храниться в вашей базе данных без каких-либо проблем. Нет такой вещи как «знак торговой марки UTF-8». Вы можете иметь «байты, представляющие знак торговой марки в кодировке UTF-8», но это будет байтовый массив, а не строка.
РЕДАКТИРОВАТЬ: Если вы имеете в виду символ Unicode U + 2122, то это вне диапазона ISO-Latin-1. Существует зарегистрированный товарный знак U + 00AE, который не то же самое (либо по внешнему виду, либо в юридическом смысле, IIRC), но может быть лучше, чем ничего - если вы хотите использовать это, то просто используйте:
string replaced = original.replace('\u2122', '\u00ae');