Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#19

AW: UTF-8 nach ASCII (die 1000ste)

  Alt 21. Feb 2017, 16:54
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.
  Mit Zitat antworten Zitat