Hallo
nicht nur könnte, das ist es natürlich, je nachdem mit welchem Zeichensatz du das Template erstellt hast, können (vor allem) Sonderzeichen natürlich abweichen.
Oben schreibst du etwas von einem Formular, unten von Templates, die FAST identisch sind, was bedeutet denn bitte fast?
Entweder der String ist immer der selbe, oder man muss entsprechend anpassen.
Kodierung.
Wenn du mit Windows arbeitest, was ja meistens der Fall ist, kannst deinen String natürlich auch vor dem Ersetzen durch utf8-encode/decode() schicken, um sicher zu gehen, dass in allen Templates die selbe Kodierung verwendet wird.
http://us1.php.net/manual/de/function.utf8-encode.php