So macht das wenig Spass....
Warum:
Du triffst massig Fehlannahmen. Oder baust logische Ketten mit Lücken. Es ist schwerer Leuten in ihren Fehlannahmen zu korrigieren, als was "neues" zu erklären. Doppelte Arbeit doppelte Anstengung. Erst aus dem Kopf
prügeln und dann was neues rein
prügeln. Klar lässt sich niemand gerne was aus dem Kopf
prügeln, von daher ist auch mit heftigem Wiederstand zu rechnen.
Beispiele:
Zitat:
|
Hab zwar im PSPad unter Format die Dateien auf utf-8 gesetzt, aber anscheinend wird das nicht übernommen.
|
Ungeprüfte Annahme!
Beweise es oder vergiss es.
Und nein: pspad funktioniert. du machst was anderes falsch.
Zitat:
|
Wenn ich aber nun die Datenbank auslese, und den Inhalt mit htmlspecialchars ausgebe sollte doch im Quelltext ein ü herauskommen, oder?
|
Du meinst ein natives ü, oder?
Nein!
1. du verwechselst htmlspecialchars() mit htmlentities()
2. du ignorierst, dass beide Funktionen
mehrere Parameter haben
Zitat:
|
Denn Sonderzeichen werden irgendwie auf dem Server nicht umgewandelt. Auch mit str_replace bekomme ich die nicht ersetzt.
|
str_replace ist wie alle php String Funktionen standardmäßig auf iso-8859-1 geeicht. Beachte die zusätzlichen Parameter und auch die mb_*() Funktionen.
Vorschlag:
1. den Content-type Header auf den gewünschten Zeichensatz stellen
2. den HTML HEAD META Tag auf den gewünschten Zeichensatz stellen
3. das Formular auf den gewünschten Zeichensatz stellen
4. die Datenbank auf den gewünschten Zeichensatz stellen
5. die Tabellen auf den gewünschten Zeichensatz stellen
6. die Tabellen Spalten auf den gewünschten Zeichensatz stellen
7. die Datenbank Verbindung auf den gewünschten Zeichensatz stellen
Und dann beobachtest du den "Datenstrom"!
Überall wo Ausgaben ins HTML stattfinden verwendest du htmlspecialchars() mit 3 Parametern. Und das unmittelbar vor der Ausgabe.