Entwickler-Ecke
Internet / Netzwerk - Probleme mit Umlauten in Url
Renegade - Fr 24.07.09 16:10
Titel: Probleme mit Umlauten in Url
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 (
http://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 Ä (
http://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.
Gausi - Fr 24.07.09 19:49
Ich würde spontan auf eine UTF8-Kodierung tippen. ;-)
Xentar - 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?
Gausi - 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. ;-)
Xentar - 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?
BenBE - 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.
Gausi - 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.
Renegade - 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...
BenBE - 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 ...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!