lupusoft
Aktives Mitglied
Thread Starter
- Dabei seit
- 05.01.2004
- Beiträge
- 250
- Reaktionspunkte
- 4
Moin,
ich habe gesehen, dass das Thema zwar in einigen threads angeschnitten wird, aber mir ist da einiges generell unklar. Meine Ausgangsbasis ist also ein XAMP, sprich Apache, PHP, mySQL. Der Indianer liefert u.a. Seiten mit Formularen, die per POST an PHP gehen, das wiederum eingegebene Texte in der mySQL Bank speichert. Die Web-Clients können natürlich unterschiedlichster Herkunft sein und haben entsprechend unterschiedliche Codierungen. Probleme hab ich nun an allen Ecken und Enden:
1) PHP baut in die Seiten fixe Textfragmente ein, die es teilweise aus der mySQL Bank holt. Wenn ich diese Textvorlagen (meist mit CocoaMySQL) direkt mit Umlauten schreibe, kommt Murks raus. Das scheint auch unabhängig davon zu sein, was ich als Codierung in CocoaMySQL angebe. Meine momentane Lösung ist, dass ich die Textfragmente in der Bank schon html-codiert eingebe (also ä statt ä usw.).
2) Gibt ein User Umlaute in ein Formulartextfeld ein und ich baue das später wieder in eine Ausgabeseite ein, kommt ebenfalls Murks raus. Das gilt auch für gespeicherte Texte in der Bank, die ich mir mit CocoaMySQL direkt anschaue.
3) Teilweise frage ich die mySQL Einträge von einem OS9 Programm aus ab. Ist klar, was da rauskommt, gelle?
Also prinzipiell ist mir bewusst, dass ich eine Codierung festlegen muss, nur wie und wo? Ich schätze mal, es gibt die Möglichkeiten:
a) MySQL - in my.cnf ??? In den Vorlage-Konfigurationsdateien habe ich nichts gefunden. Woran dreht denn CocoaMySQL wenn man das "Encoding" popup benutzt?
b) PHP - in php.ini gibt es da was
iso-8859 müsste das gleiche sein wie iso-latin-1, oder? Wenn ich iso-latin-1 in CocoaMySQL einstelle, bringt das nix. Spielt es denn eigentlich eine Rolle in welcher Form ich die .php Datei selber abspeichere? Da kann ich ja auch wieder reinen Text oder UTF8 oder was weiss ich wählen.
c) Die Header der HTML-Dateien - also sowas
Wenn ich php.ini in b) richtig verstanden habe, dann müsste er das ja sowieso reinbauen. Tut er aber nicht (Quelltext im Browser). Das kann aber möglicherweise daran liegen, dass ich HTML-Templates arbeite.
d) Apache - soweit ich das bei den endlosen Optionen überblicke, kann man in httpd.conf nur den default MIME type einstellen, oder???
Hat irgendwer den Überblick bei den ganzen Encoding-Sachen und kann mir weiterhelfen? Dank an alle, die sich schon mal mit dem Lesen bis hier durchgekämpft haben ;-)
Gruss, Lupus
ich habe gesehen, dass das Thema zwar in einigen threads angeschnitten wird, aber mir ist da einiges generell unklar. Meine Ausgangsbasis ist also ein XAMP, sprich Apache, PHP, mySQL. Der Indianer liefert u.a. Seiten mit Formularen, die per POST an PHP gehen, das wiederum eingegebene Texte in der mySQL Bank speichert. Die Web-Clients können natürlich unterschiedlichster Herkunft sein und haben entsprechend unterschiedliche Codierungen. Probleme hab ich nun an allen Ecken und Enden:
1) PHP baut in die Seiten fixe Textfragmente ein, die es teilweise aus der mySQL Bank holt. Wenn ich diese Textvorlagen (meist mit CocoaMySQL) direkt mit Umlauten schreibe, kommt Murks raus. Das scheint auch unabhängig davon zu sein, was ich als Codierung in CocoaMySQL angebe. Meine momentane Lösung ist, dass ich die Textfragmente in der Bank schon html-codiert eingebe (also ä statt ä usw.).
2) Gibt ein User Umlaute in ein Formulartextfeld ein und ich baue das später wieder in eine Ausgabeseite ein, kommt ebenfalls Murks raus. Das gilt auch für gespeicherte Texte in der Bank, die ich mir mit CocoaMySQL direkt anschaue.
3) Teilweise frage ich die mySQL Einträge von einem OS9 Programm aus ab. Ist klar, was da rauskommt, gelle?
Also prinzipiell ist mir bewusst, dass ich eine Codierung festlegen muss, nur wie und wo? Ich schätze mal, es gibt die Möglichkeiten:
a) MySQL - in my.cnf ??? In den Vorlage-Konfigurationsdateien habe ich nichts gefunden. Woran dreht denn CocoaMySQL wenn man das "Encoding" popup benutzt?
b) PHP - in php.ini gibt es da was
Code:
; As of 4.0b4, PHP always outputs a character encoding by default in
; the Content-type: header. To disable sending of the charset, simply
; set it to be empty.
;
; PHP's built-in default is text/html
default_mimetype = "text/html"
default_charset = "iso-8859-1"
c) Die Header der HTML-Dateien - also sowas
Code:
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
d) Apache - soweit ich das bei den endlosen Optionen überblicke, kann man in httpd.conf nur den default MIME type einstellen, oder???
Hat irgendwer den Überblick bei den ganzen Encoding-Sachen und kann mir weiterhelfen? Dank an alle, die sich schon mal mit dem Lesen bis hier durchgekämpft haben ;-)
Gruss, Lupus