MyBB.de Forum
Darstellen von Umlauten - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Darstellen von Umlauten (/thread-13136.html)



Darstellen von Umlauten - Desaster - 01.05.2009

Hallo,

ich programmiere zur Zeit ein Webinterface. Bin soweit schon fertig. Es gibt nur noch ein Problem. Bei der E-Mail Valisierung sieht der zu aufrufende Link so aus:

validate.php?domain=xxxx.de&id=xxxxxxxxx

Wenn jedoch die Domain ein Umlaut enthält und ich den URL String abfragen möchte steht das z.B:
testdomäne1.de statt testdomäne1.de

Hat jemand ne Idee wie ich das Problem löse?

Vielen Dank!
mfg


RE: Darstellen von Umlauten - frostschutz - 01.05.2009

Umlaute in Domains erfordern ein spezielles Encoding. Kannst du auf Wikipedia nachlesen.

http://de.wikipedia.org/wiki/Internationalizing_Domain_Names_in_Applications

Das was du da hast könnte allerdings UTF-8 interpretiert als ISO-8859/latin1 sein... also ein einfaches Zeichensatzproblem.


RE: Darstellen von Umlauten - Desaster - 03.05.2009

Hallo,

also an dem Zeichensatz lag es nicht.
Ich habe es versucht os zu lösen.

User gibt folgende URL ein:

www.xxxx.de/validate.php?domain=testdomäne.de

Per folgenden Code URL String abfragen:
PHP-Code:
$domain rawurlencode($_GET['domain']); 

Ausgabe: testdom%C3%A4ne.de

Dann habe ich die Zeichen per Schleife umwandeln lassen.

Ergebnis: testdomäne.de

Leider tritt ein gewaltiges Problem auf, dass ich mir leider nicht erklären kann.
Wenn die URL angeklickt wurde läuft alles, falls man sie manuell eingibt wiederrum nicht. Dann wird folgendes ausgegeben:
testdom%E4ne.de

Kann mir da jemand helfen?

mfg


RE: Darstellen von Umlauten - frostschutz - 03.05.2009

0xE4 ist der Codepoint für den Buchstaben ä im latin1 Zeichensatz.
0xC3 0xA4 ist ä in UTF-8.

Je nachdem welchen Zeichensatz der Server bzw. das validate.php erwartet, ist das eine oder andere falsch.


RE: Darstellen von Umlauten - Desaster - 03.05.2009

Code:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Das steht ganz klar drin. Ich verstehe nicht warum, mal utf8 mal latin.
Ich habe es doch eingestellt.

Ich denke meine Methode ist daher nicht geeignet.
Ich benötige immernoch Hilfe. Kann mir da jemadn nochmal helfen??