Archive for March, 2008

PHP: UTF-8 Detection

Sunday, March 30th, 2008

Ein leidiges Thema - man erhält irgendwoher einen String oder einen Text - z.B. aus Textdateien, CSV-Dateien oder RSS-Feeds - und weiß leider nicht immer sicher, um welches Encoding es sich handelt. Das kann insbesondere ein Problem sein, wenn das einzige was man sicher weiß die tatsache ist, dass verschiedene Encoding vorliegen - z.B. eine Import-Datei in ISO1 und eine andere in UTF-8.
Die Multibyte String Functions können hier weiter helfen. Die Funktion mb_detect_encoding() gibt bspw. das Encoding zurück. Allerding nicht immer korrekt. Es sollte also immer der dritte Parameter “strict” auf “true” gesetzt werden. Das führt zwar z.T. dazu, dass kein Encoding ermittelt wird, aber das ist im Zweifel immer noch besser, als ein falsches Encoding.
Benötigt man nur eine Prüfung auf ein bestimmtes Encoding, kann dies mit der Funktion mb_check_encoding() geprüft werden. Wird das Encoding nicht erkannt, kommt einfach ein “false” zurück. Das ist vor allem hilfreich, wenn man z.B. nur UTF-8 gebrauchen kann und im Zweifel alles andere durch ein uft8_encode() schickt.

TYPO3: baseURL serverspezifisch in der localconf.php

Wednesday, March 26th, 2008

Endlich geht es - die baseURL genau dort anzugeben, wo sie hingehört: in der Serverkonfiguration also der localconf.php. Seit der Version 4.1.5 gibt es im Install Tool ein paar mehr Felder, welche man in der localconf Datei setzen kann, z.B. defaultTypoScript_constants. Und so einfach geht es dann.
Im TypoScript Setup eine statische Referenz auf eine Constant einfügen.
page.config.baseURL = {$config.baseURL}

Und die Constant in der localconf.php über das Install Tool eintragen.
[defaultTypoScript_constants]
config.baseURL = http://www.projectdomain.de/

IE vs. PNG

Thursday, March 6th, 2008

Der Internet Explorer kann ja PNGs auch mit Transparenz anzeigen, aber wie und mit welchen Hacks ist immer die Frage. Hier gibt es eine Antwort:
http://webfx.eae.net/dhtml/pngbehavior/demo.html.