AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi idhttp1.get() - iSO 8859-15 - Problem - darstellung von "öÖäÄßÜü"
Thema durchsuchen
Ansicht
Themen-Optionen

idhttp1.get() - iSO 8859-15 - Problem - darstellung von "öÖäÄßÜü"

Ein Thema von Bladefire · begonnen am 7. Jan 2015 · letzter Beitrag vom 26. Jan 2015
Antwort Antwort
Bladefire

Registriert seit: 30. Jun 2014
67 Beiträge
 
#1

idhttp1.get() - iSO 8859-15 - Problem - darstellung von "öÖäÄßÜü"

  Alt 7. Jan 2015, 18:31
Hallo,

ich habe ein problem beim darstellen des quellcodes den ich zuvor heruntergeladen habe. Die Umlaute werden nicht korrekt angezeigt. (sie werden als 2 Zeichen dargestellt. Darum denke ich, dass delphi den text in einer kodierung darstellt, die kleiner als iso-8859-15 ist)

Code:
IdHTTP1.Request.AcceptCharSet := 'iso-8859-15,iso-8859-1, utf-8, utf-16, *;q=0.1';
memo1.text := idhttp1.get(URL);

Showmessage(idhttp1.Response.charset)
(*
  = charset=iso-8859-15
*)
Über antworten freue ich mich sehr.

Lg Simon
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.172 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: idhttp1.get() - iSO 8859-15 - Problem - darstellung von "öÖäÄßÜü"

  Alt 7. Jan 2015, 19:23
wie schauen denn die Sonderzeichen aus? Ich tipp mal das du einfach UTF8To(Wide)String aufrufen musst.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Bladefire

Registriert seit: 30. Jun 2014
67 Beiträge
 
#3

AW: idhttp1.get() - iSO 8859-15 - Problem - darstellung von "öÖäÄßÜü"

  Alt 7. Jan 2015, 19:46
hat leider nicht funktioniert.



ß wird als Ć dargestellt und die bitfolge würde so aussehen: //(11011111) DF

Die großen Umlaute sind ebenfalls betroffen.

ü wird als ĆŒ dargestellt und die bitfolge würde so aussehen: //(11111100)FC

ä wird als Ć€ dargestellt und die bitfolge würde so aussehen: //(11100100) E4

ö wird als ƶ dargestellt und die bitfolge würde so aussehen://(11110110) F6

sofern man darauf vertraun kann, dass ich die Daten ISO 8859-15 kodiert erhalten habe.

Geändert von Bladefire ( 7. Jan 2015 um 20:31 Uhr)
  Mit Zitat antworten Zitat
Bladefire

Registriert seit: 30. Jun 2014
67 Beiträge
 
#4

AW: idhttp1.get() - iSO 8859-15 - Problem - darstellung von "öÖäÄßÜü"

  Alt 8. Jan 2015, 14:03
*push
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.172 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: idhttp1.get() - iSO 8859-15 - Problem - darstellung von "öÖäÄßÜü"

  Alt 8. Jan 2015, 14:12
Nach dem Mapping von http://en.wikipedia.org/wiki/ISO/IEC...rom_ISO-8859-1 würde ich sagen das eigentlich UTF8-Codierte Daten geliefert wurden, aber durch das Mapping diese kaputt gemacht wurden.
würde

ü -(UTF8)-> Ć¼ -(Mapping)-> ƌ

Evtl. reicht es einfach das Mapping umzudrehen Œ -> ¼ um dann UTF8 nach (Wide)String zu wandeln.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Bladefire

Registriert seit: 30. Jun 2014
67 Beiträge
 
#6

AW: idhttp1.get() - iSO 8859-15 - Problem - darstellung von "öÖäÄßÜü"

  Alt 8. Jan 2015, 15:09
Danke für die Antwort.

ich fasse es nochmal zusammen, ob ich es auch richtig verstanden habe.

ö währe in utf-8: 11000011 10110110

11000011 10110110 ist Jedoch in ISO 8859-15: ƶ


ü währe in utf-8: 11000011 10111100

11000011 10111100 ist Jedoch in ISO 8859-15: ĆŒ

Schaut gut aus!

Ich erhalte die daten von der Webseite in utf-8 und sie werden fälschlicherweise als ISO 8859-15 kodiert betrachtet.

Wie kann ich das mapping umdrehen?


Ich dachte dass ich es so machen kann, damit der text als utf-8 betrachtet wird.
Code:
SetCodePage(Text,65001,false);
memo1.text := Text
Der Buchstabe "ö" wird danach korrekt angezeigt.
ß = �?
ä = Ą
ü = Ģ

lg Simon

Geändert von Bladefire ( 8. Jan 2015 um 15:14 Uhr)
  Mit Zitat antworten Zitat
Thomasl

Registriert seit: 19. Jun 2006
Ort: Vreden
66 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: idhttp1.get() - iSO 8859-15 - Problem - darstellung von "öÖäÄßÜü"

  Alt 23. Jan 2015, 21:04
Ich bin über das gleiche Problem gestolpert

Bei Verwendung wie in diesem Beispiel, aber mit der Translate API
https://theroadtodelphi.wordpress.co...n-from-delphi/
Delphi-Quellcode:
    LIdHTTP:= TIdHTTP.Create(nil);
    try
      LIdHTTP.Request.ContentEncoding := 'utf-8';
      LIdHTTP.Request.BasicAuthentication:= True;
      LIdHTTP.Request.Username:=ApplicationID;
      LIdHTTP.Request.Password:=ApplicationID;
      LIdHTTP.IOHandler:= LIOHandler;
      Response:=LIdHTTP.Get(Format(URI,[TIdURI.PathEncode(QuotedStr(SearchKey)), Top, Skip]));
Also bei Delphi XE7 (Trial) funktioniert alles richtig
und bei Delphi XE4 sind nur die ASCI Zeichen OK
es muss wohl was am Verhalten von Indy oder Delphi angepasst worden sein.
Thomas Levering
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#8

AW: idhttp1.get() - iSO 8859-15 - Problem - darstellung von "öÖäÄßÜü"

  Alt 24. Jan 2015, 07:17
Also bei Delphi XE7 (Trial) funktioniert alles richtig
und bei Delphi XE4 sind nur die ASCI Zeichen OK
es muss wohl was am Verhalten von Indy oder Delphi angepasst worden sein.
Man kann in einem XE4 Projekt völlig problemlos auch die aktuellste Indy Version einsetzen, sogar ohne die alte Installation in der Komponenten-Palette anzufassen (einfach neue Indy-Verzeichnisse in den Suchpfad des Projekts einbinden).

Download zum Beispiel über Subversion, oder tägliche Trunk-Schnappschüsse auf http://indy.fulgan.com/ZIP
Michael Justin
  Mit Zitat antworten Zitat
Thomasl

Registriert seit: 19. Jun 2006
Ort: Vreden
66 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: idhttp1.get() - iSO 8859-15 - Problem - darstellung von "öÖäÄßÜü"

  Alt 26. Jan 2015, 06:59
Mit den neuen Indy10 Dateien Funktioniert es jetzt auch mit Delphi XE4
Thomas Levering
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz