>なぜか変換後の文字列の一番先頭に「?」が付きます。
それはBOM(=byte order mark=バイト順序マーク)というものです。
Windowsは原則としてユニコードをリトル・エンディアンで扱うので、
ファイルの先頭に$FF,$FEの2バイトが書き込まれます。
ビッグエンディアンの場合は$FE,$FFになります。
Windows XP(Vistaでもいいかも)をお使いなら、保存したファイルを
メモ帳で開き、「名前を付けて保存」で「文字コード」に
「Unicode big endian」を指定して保存して見てください。
メモ帳では開けますが、wordpadで開くと文字化けします。