<p>How do I convert text between multi-byte text strings, for example Simplified Chinese GB 2312, into UTF8 using c++ ?</p>

On unix systems you'd best use the iconv library.
See
iconv_open
,
iconv
,
iconv_close
You'd have to know the character encoding of course (EUC-CN, HZ).
If not on a unix system, search for some support in the OS, doing character conversions by hand is very hard to get right.