Verstehe ich das richtig?
Du hast aus 'ner SQLite-Datenbank UTF8.
Ausgeben möchtest Du per WriteLn ... OEM:
https://de.wikipedia.org/wiki/Codepage_437
Also den unter DOS üblichen Zeichensatz?
Das wäre dann sowas in der Art:
Delphi-Quellcode:
function Ansi2OEM(AnsiString: string): string;
begin
ANSIString := ANSIString + #0;
CharToOEM(PChar(ANSIString), @ANSIString[1]);
Delete(ANSIString, Length(ANSIString), 1);
Result := ANSIString;
end;
function GetFieldByName(const FieldName: string): String;
var s: String;
begin
s := Utf8ToAnsi(GetFields(self.GetFieldIndex(FieldName)));
if FIsAscii then s := Ansi2OEM(s);
Result := s;
end;
CharToOEM war zu Delphi 7-Zeiten in der
Unit Windows zu finden.
ASCII https://de.wikipedia.org/wiki/Americ...on_Interchange ist aber (wie freimatz schon schrieb) <> OEM:
https://de.wikipedia.org/wiki/Americ...on_Interchange
Da bei mehreren Post wiederholt Fragen auftraten, was genau das Ziel ist, beschreibe bitte noch einmal genau, von welchen Ausgangsdaten Du zu welchen Zieldaten gelangen möchtest.
Was ist genau das Quellsystem und was ist das Zielsystem? (Damit wir eine Vorstellung davon bekommen können, welche Ausgabe genau erforderlich ist.)
Was ergibt die Ausgabe von
Ord('š')
?
154 bzw. hexadezimal 9A? Das wäre dann aber in der Codepage 437 das große Ü. Das kleine ü wäre 129 bzw. hexadezimal 81.
Man müsste dann mal schauen, welcher Zeichensatz an der entsprechenden Stelle das kleine ü enthält.