После 2 днеи страшно е#$% нашёл, удалось :)
Нагуглил всётаки функцию WideStringToUTF8.
Немношко напильником пришлось, а то под Дельфу 2009 ето, и
в место Length(S) прописал Length(S) * 2 и всё заработало.
Если кому интересно и надо то вот:
function WideStringToUTF8(const S: string): string;
begin
SetLength(Result, WideCharToMultiByte(CP_UTF8, 0, @S[1], Length(S) * 2 div
SizeOf(WCHAR), nil, 0, nil, nil));
WideCharToMultiByte(CP_UTF8, 0, @S[1], Length(S) * 2 div SizeOf(WCHAR),
@Result[1], Length(Result) * 2, nil, nil);
end;
Function dbMessage(AIndex: Integer; ALanguage: PChar): PChar; Cdecl; Export;
Var ReturnString :PChar;
lsResult :WideString;
Begin
ReturnString := ib_util_malloc(1024);
lsResult := 'Jānis Briška, Янис Бришка, English text';
StrCopy(ReturnString, Pchar( WideStringToUTF8(lsResult)));
Result := ReturnString;
End;
Regards
Janex