Вот лучше глянь код преобразования в WideString
#pas
//function StringToWideString(const s: AnsiString; codePage: Word): WideString;
function StringToWideString(const s: String; codePage: Word): WideString;
var l: integer;
begin
if s = ' then Result := '
else begin
l := MultiByteToWideChar(codePage, MB_PRECOMPOSED, PChar(@s[1]), -1, nil, 0);
SetLength(Result, l - 1);
if l > 1 then
MultiByteToWideChar(CodePage, MB_PRECOMPOSED, PChar(@s[1]), -1, PWideChar(@Result[1]), l - 1);
end;
end; { StringToWideString }
------------ Дoбавленo:
Вот..., лишний апостроф появился. Но нифига оно не работает с codepage=3