Seite 1 von 1

HTML Sonderzeichen

Verfasst: 16.03.2007 12:53
von Kermit
Welche zeichen sollen unbedingt codiert werden?

Das die umlaute + ß umgeschrieben werden sollen ist mir klar.
Welche aber noch? Quer durchs Internet gibt es da eine Rießendiskusion, inkl. den zeichen:
- _ ? ! ; :

Und dann noch die Frage zum: % zeichen. Dafür konnte ich keine codierung finden. Auch nicht bei selfhtml.

Verfasst: 16.03.2007 15:49
von gn#36
Ich benutze zum encodieren diese Funktion:

Code: Alles auswählen

function encode_url($url, $encode_all = true, $and_to_andamp = false)
{
	if($encode_all)
	{
		return urlencode($url);
	}
	$url = urlencode($url);
	$url = str_replace('%26','&',$url);
	$url = str_replace('%3D','=',$url);
	$url = str_replace('%3F','?',$url);
	$url = str_replace('%2F','/',$url);
	$url = str_replace('+','%20',$url);
	$url = str_replace('%3A',':',$url);
if($and_to_andamp)
	{
		$url = str_replace('&','&',$url);
	}
	return $url;
}
Mit der Funktion kann ich mir alles encodieren lassen wenn ich will, oder aber - was ich meistens nutze - ich ersetze unerwünschte Codierungen wieder zurück. Ich benutze das für die Korrekte Ausgabe von URLs, da sollten Slashes usw. natürlich uncodiert drin stehen. Je nachdem wo ich das brauche wird dann noch jedes & in ein & umgewandelt.

Das Prozentzeichen hat die Codierung "%25"...

Wenn du das "händisch" encodieren willst, dann beginne mit dem Prozentzeichen, sonst ersetzt du ja die encodierten Zeichen gleich mit.

Verfasst: 16.03.2007 17:53
von S2B
Eigentlich musst du zuerst mal nur drei Zeichen kodieren, nämlich <, > und &. Außerdem muss " in HTML-Attributen kodiert werden, da ja sonst die Eigenschaft geschlossen wird und der Parser durcheinanderkommt.

Die restlichen Zeichen müssen je nach eingestelltem Character Set kodiert werden, bei ISO-8859-1 zum Beispiel ist das kodieren von ä, ö, ü und ß nicht nötig. Näheres dazu findest du aber bei SelfHTML.

Verfasst: 17.03.2007 12:17
von Kermit
S2B hat geschrieben: Die restlichen Zeichen müssen je nach eingestelltem Character Set kodiert werden, bei ISO-8859-1 zum Beispiel ist das kodieren von ä, ö, ü und ß nicht nötig. Näheres dazu findest du aber bei SelfHTML.
Allerdings schreibt sogar Selfhtml das es sinnvoll ist sich auf die ASCII zeichen zu beschränken da es manchmal zu Problemen kommen kann.

Ich glaube mich erinnern zu können, das es speziell bei nicht Windows Systemen und nicht deutschprachigen umgebungen zu Fehlern kommen kann.


@ gn#36: Besten Dank fürs "%25", ich konnte das nirgendwo finden.

Verfasst: 17.03.2007 14:18
von Dr.Death
http://asciitable.de/tabelle.html#tabelle1

Dort findest Du noch alle anderen Zeichen in " % " Darstellung.

Verfasst: 18.03.2007 16:16
von Kermit
Eine gute page, besten Dank.