private static $codepages = array(
'L' => 'CP1252', // Latin 1
'G' => 'CP1253', // Greek
'C' => 'CP1251', // Cyrillic
'E' => 'CP1250', // Central Europe
'T' => 'CP1254', // Turkish
'B' => 'CP1257', // Baltic
'J' => 'CP932', // Japanese
'S' => 'CP936', // Simplified Chinese
'K' => 'CP949', // Korean
'H' => 'CP950' // Traditional Chinese
);
These are the code page conversions that you are looking for
as per Vic. So after you see a Caret and then one of these characters you have to use the corresponding code page from then on in the string. But if you see ^8 or ^9 you have to convert back to the default code page (IIRC, but ^8 might only apply to color, and ^9 applies to everything).