[TYPO3-german] xajax Code Settings
Elmar Hinz
elmar.DOT.hinz at team.MINUS.red.DOT.net
Thu Mar 23 11:54:44 CET 2006
Aus einer privaten Mail, falls es für Entwickler von Interesse ist:
Ich hab mir noch einmal den Sourcecode von xajax und xajaxResponse
angesehen.
1.) Das erzeugte JS sollte in jedem Fall nur ASCII enthalten und ist
damit nicht zu diskutieren.
2.) Per Default ist Response zum Browser auf utf-8 gesetzt durch
XAJAX_DEFAULT_ENCODING. Damit könnte das encoding auch global geändert
werden.
3.) An der Response sind beide Klassen beteiligt und müssen daher
gleichartig konfiguriert sein, entweder per XAJAX_DEFAULT_ENCODING
oder per Konstruktor oder per Funktion setCharEncoding($enc).
4.) Details zu 3.) Der Response header wird dabei durch die
Konfiguration der Klasse xajax bestimmt, der Inhalt durch xajaxResponse.
5.) Wenn die Webseite selbst auf iso-8859-1 eingestellt ist,
funktioniert eine utf-8 Antwort zwar praktisch (im FF), erscheint mir
aber trotzdem unpassend. Wie ist das im I.E.?
6.) Man kann erzwingen, daß der Inhalt in xajaxResponse in
htmlentities umgewandelt wird, indem man
$xajaxResponse->outputEntitiesOn() aufruft. Dafür muß PHP mit
mb_string ausgerüstet sein.
7.) Ohne mb_string hilft dieses Skript:
$tbl=get_html_translation_table(HTML_ENTITIES);
unset ($tbl["<"]);
unset ($tbl[">"]);
unset ($tbl["'"]);
unset ($tbl['"']);
unset ($tbl['&']);
$out = str_replace(array_keys($tbl),array_values($tbl),$out);
8.) 6 & 7 erscheinen mir überflüssig, wenn sich Webseite, xajax und
xajaxResponse in der Codierung einig sind. Bei Konflikten helfen 6
oder 7 aber gut.
9.) In welcher Kodierung Formparameter zurückgesendet werden, habe ich
nicht herausfinden können. Entweder in der Webseitenkodierung oder in
der Einstellung von xajax oder immer in UTF-8. Ich vermute das erstere.
10.) Per Default ist decodeUTF8InputOff() gesetzt. Laufen unerwartete
multibyte Zeichen in der Datenbank auf, gibt es hier einen
Handlungsspielraum.
Wie sind Eure Erfahrungen?
Grüße
Elmar
More information about the TYPO3-german
mailing list