Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Darstellen von Umlauten
#1
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

Jetzt kostenlos eine Domain registrieren!!
Hier klicken: www.domains-for-free.de
Zitieren
#2
Umlaute in Domains erfordern ein spezielles Encoding. Kannst du auf Wikipedia nachlesen.

http://de.wikipedia.org/wiki/Internation...plications

Das was du da hast könnte allerdings UTF-8 interpretiert als ISO-8859/latin1 sein... also ein einfaches Zeichensatzproblem.
Zitieren
#3
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

Jetzt kostenlos eine Domain registrieren!!
Hier klicken: www.domains-for-free.de
Zitieren
#4
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.
Zitieren
#5
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??

Jetzt kostenlos eine Domain registrieren!!
Hier klicken: www.domains-for-free.de
Zitieren