Java初心者スレが機能していないのと、Androidで動作させている事から
こちらのスレで質問させてください。

Tagsoupを使ってHTMLをパースし、titleタグの文字列だけ
抽出しようとしています。URLConnection#getContentTypeで
charsetが取得出来ない事があり、仮の文字コードを指定して
InputStreamReaderに渡しています。

パースし終わって抽出したtitleタグの文字列は当然文字化けしています。
ただパース中にmetaタグ内のcharsetを取得済みなので、この文字コードで
正しい変換が出来ないかと考えていますが、下記ソースの(※)で変換しようと
していますがうまく行きません。どのように変換すればよいのでしょうか?

*** ソースコードを抜粋 ***
Parser parser = new Parser();
parser.setFeature(Parser.ignoreBogonsFeature, false);
parser.setProperty(Parser.schemaProperty, new HTMLSchema());
PageTitleHandler pageTitleHandler = new PageTitleHandler(); // ContentHandlerの継承クラス
parser.setContentHandler(pageTitleHandler); // 独自ハンドラを設定
String encoding = extractEncoding(contentType); // charsetを取得したいが無い場合は"shift_jis"に固定
// encodingで文字コードを指定してHTMLをパース
parser.parse(new InputSource(new InputStreamReader(urlConnection.getInputStream(), encoding)));

pageTitle = pageTitleHandler.getPageTitle(); // ページタイトル取得(文字化けしている)
charset = pageTitleHandler.getCharset(); // metaタグ内のcharsetから文字コードを取得
pageTitle = new String(pageTitle.getBytes(charset)); // 正しいcharsetに変換しようとしてるが失敗…(※)
Log.v("ShortenURLSender", pageTitle);