Autor |
Beitrag |
Renegade
      
Beiträge: 358
Win XP Pro, Win 7 Beta
BDS 2006
|
Verfasst: Fr 24.07.09 16:10
Ich habe ein Problem mit Umlauten in Urls.
Suche schon den ganzen Tag und komme nicht wirklich weiter.
Ich habe mittlerweile rausgefunden das ich ein %20 für ein Leerzeichen nutzen muss. Nun sollte eigentlich lt. Hex-tabelle ein Ä ein %C4 sein ( de.wikipedia.org/wiki/ISO_8859-1). Wenn ich mir aber als Beispiel von Wikipedia die Seite für das Ä aufrufe steht in der Url ein %C3%84 für das Ä ( de.wikipedia.org/wiki/%C3%84). Wie zum teufel kommt man auf auf dieses %C3%84?
Wäre super wenn wir das einer erzählen kann.
Besten dank im Voraus.
_________________ Sokrates (468 v.Chr. - 399 v.Chr.)
"Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen."
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 24.07.09 19:49
Ich würde spontan auf eine UTF8-Kodierung tippen. 
_________________ We are, we were and will not be.
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Fr 24.07.09 20:44
Gausi hat folgendes geschrieben : | Ich würde spontan auf eine UTF8-Kodierung tippen.  |
Wäre das nicht UTF-16? Sind doch 2 Byte für einen Buchstaben.
Oder hab ich da was falsch verstanden?
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: Fr 24.07.09 21:03
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Sa 25.07.09 10:28
Ganz kurz: Für die ASCII-Zeichen benutzt UTF8 ein Byte, für alles weitere zwei oder mehr. Wenn also in einem Text alles "normal" aussieht, und nur die Umlaute durch zwei seltsame Zeichen ersetzt werden, dann ist das fast immer ein UTF8-Problem. 
_________________ We are, we were and will not be.
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Sa 25.07.09 15:35
Ah, ok verstanden, danke
Und was ist das Unicode, welches D2009 verwendet? Hab zwar kein D2009, aber bin ja neugierig  ist das auch noch UTF8, oder "echtes" UTF16? Da dort WideStrings verwendet werden, müsste das doch dann UTF 16 sein?
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Sa 25.07.09 15:43
Es gibt nur ein Unicode. UTF-5, UTF-6, UTF-7, UTF-8, UTF-9, UTF-16, UTF-18, UTF-32 und UTF-EBCDIC sind alles nur Encodierungsmöglichkeiten, die angeben, wie auf unterster Ebene die Zeichennummer dargestellt wird. Daher rührt auch das BOM (Byte Order Mark) bei manchen dieser Algorithmen.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Zuletzt bearbeitet von BenBE am Sa 25.07.09 15:52, insgesamt 2-mal bearbeitet
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Sa 25.07.09 15:46
Strings in Delphi 2009 sind UnicodeStrings, die wie die WideStrings UTF16-kodiert sind. Der Stringtyp UTF8String ist in Delphi 2009 UTF8-kodiert.
_________________ We are, we were and will not be.
|
|
Renegade 
      
Beiträge: 358
Win XP Pro, Win 7 Beta
BDS 2006
|
Verfasst: So 26.07.09 14:21
Utf8 könnte stimmen. Nur wie berechne ich nun die Werte? Entweder ich hab was mit den Augen oder aber ich finde keine Tabelle oder ähnliches...
_________________ Sokrates (468 v.Chr. - 399 v.Chr.)
"Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen."
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: So 26.07.09 14:25
Nimm einen String in beliebigem Zeichensatz (z.B. Latin 1, Std unter Windows) und lass diese mit den entsprechenden Funktionen nach UTF8 konvertieren. Danach Byteweise auslesen und korrekt URL-encoden ...
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
|