Moin,
ich habe ein kleines Problem. Ich lese eine Datei mittels file_get_contents(); ein, um hinterher noch String-Funktionen rüberzuschmeissen. Das Problem dabei ist natürlich das Charset. Soweit habe ich es schon gelöst. Meine Testdateien:
test.tpl
Test äüöÄÜÖß
<?php
$file = file_get_contents('test.tpl', 'r');
if(mb_detect_encoding($file) == "UTF-8") { $file = utf8_decode($file); }
$file = htmlentities($file);
$file = strtolower($file);
echo $file;
?>
Soweit eigentlich recht logisch, was da abläuft. Mein Problem ist aber, dass ich als Ausgabe
„?test äüöäüöß“ erhalte. Wo kommt da das Fragezeichen her? Weiss jemand sich darauf einen Reim zu machen? Ich bin momentan recht ratlos … 
MfG
myPages
[at.php.net/file_get_contents](http://at.php.net/file_get_contents)
Der 2. Parameter stimmt nicht, lass den einfach weg :wink:
at.php.net/file_get_contents
Der 2. Parameter stimmt nicht, lass den einfach weg 
Moin,
mal abgesehen, davon dass du Recht hast und das ein Überbleibsel von fopen war
und da nicht hingehört, nutzt es leider nichts. Das Fragezeichen bleibt dennoch dastehen.
Weitere Ideen? 
MfG
myPages
Das kann ein Überbleibsel des BOM sein, hast du die Datei mit BOM gespeichert?
de.wikipedia.org/wiki/Byte_Order_Mark
Moin,
lag tatsächlich daran. Danke dir. Damit ist das Problem gelöst
(Ich könnt mich manchmal für meine eigene Dummheit echt ohrfeigen
)
MfG
myPages
du kannst auch die vorhande Zeichenkodierung belassen und “mb_stringfunktionen” nutzen.
z.b.
mb_stringtolower($string, ‘UTF-8’);
oder auch
mb_substr($string, 10, 20, ‘UTF-8’);
und so weiter. Einfach mal bei php.net nachschauen, wenn dich das interessiert.