wenn ich eine seite dynamisch mit php aufbaue lese ich die texte aus der datenbank aus und schreibe sie einfach ins html dokument (also ohne htmlentities o.ä.).
wundert mich auch bzw. frag ich mich wozu man dann überhaupt htmlentities verwenden soll, wenns auch ohne klappt ...
soll heißen ich steig da auch nicht durch...
allerdings hab ich festgestellt, dass es bei xhtml1.1 schon komplizierter wird. Wenn du eine xml-deklaration und xhtml 1.1 doctype verwendest kriegst du spätestens bei links ohne & in deinem text probleme...
das klappt auch wunderbar. wenn ich allerdings den wert eines textfeldes damit befüllen möchte werden manche sonderzeichen nicht richtig dargestellt, sprich aus einem zeichen (z.B. §) werden zwei (Â$). was einerseits logisch ist, da unicode ja multibyte ist, andererseit wundert es mich das die darstellung im normalen html text funktioniert, bei eingabe-textfeldern aber nicht. um die zeichenkette in einem eingabefeld richtig darstellen zu können muß ich htmlentities(utf8_decode($string)) machen.
und genau das selbe problem hatte ich auch kürzlich und es war zum haareraufen...
hab in einem anderen Forum zwar keine newbie-freundliche antwort erhalten, aber vielleicht helfen in deinem fall ja die attribute "accept-charset" und "encoding" des form-elements weiter...
(die ich letztendlich wieder rausgeschmissen hab, da bei mir die beim testen noch fehlende xml-deklaration das problem gelöst hat)
noch ein link zum thema, den ich nach meiner rumpfriemelei entdeckt hab (also selbst nur überflogen) vllt. nützlich:
http://php.mirrors.ilisys.com.au/manual/de/faq.html.php
mfg