Switch Case bei Umlauten

Hallo zusammen,

bei folgendem Code habe ich eine ganz einfach Switch - Case Anweisung programmiert. Doch leider funktioniert die nicht bei dem Wort „Gebäude“.

<?php switch($_POST['untersparte'])
{
case 'Haus':
case 'Fenster':
case 'Gebäude':
$test=50;
echo "Ausgabe " .$test;
break;
} ?>Auswahl" method="POST" accept-charset="ISO-8859-1">
Auswahl
Untersparte:
"><?php echo $_POST['untersparte']; ?>HausFensterGebäude



Woran liegt das? Meine bisherigen Versuche. Den Editor auf ISO-8859-1 gesetzt, im Formular ebenfalls den gleichen ISO-Code gesetzt. Safari und Firefox ausprobiert.

Testweise auf UTF-8 gewechselt und die Sonderzeichen in HTML wie ä durch ä ersetzt. Dann ging es. Aber warum geht es mit dem ISO-8859-1 nicht?

Hi,

Testweise auf UTF-8 gewechselt und die Sonderzeichen in HTML
wie ä durch ä ersetzt. Dann ging es. Aber warum geht
es mit dem ISO-8859-1 nicht?

wenn der Server eine bestimmte Kodierung im Header ausgibt, dann kann diese nicht über HTML geändert werden. Ansonsten dürften Browser außerhalb der zu verwendenden Kodierung liegenden Sonderzeichen nicht als Entities senden, sondern als Nummerncode ([x][Nummer]).

Gruß
Ingo

Hallo,

also die Vorgabe des Server überschreibt die Vorgabe des Clients. Klingt logisch. Aber ich verstehe eines nicht. Sowohl in UTF-8 also auch in ISO-8859-1 können Umlaute dargestellt werden.

Warum muss dann im Client, also auf der Seite, expliziet UTF-8 angegeben werden? Und noch dazu überschreibt doch der Server die Clientvorgabe in der Seite. Also hätte doch der Charset in der Seite keine Auswirkung und die Umlaute müssten doch auch dann korrekt dargestellt werden, wenn auf der Seite ISO-8859-1 steht, oder?

Gruß

um UTF-8 korrekt auszuliefern , muss es auch so codiert werden
und auf der anderen seite muss genau diese codierung benutzt werden.
sonst gibt es komische zeichen .

ergo auch die php datei in utf-8 speichern, da sonst dort iso… stehen die aber als utf-8
ausgegeben werden , das gibt dann wieder merkwürdige zeichen .

Also überall sollte stehen welcher zeichensatz genutzt wird, auch um das sende verhalten genau festzulegen .

Und wenn jetzt die Kommunikation super funktioneirt , warum das ins HTML schreiben , ist deine Frage ???
Ja weil deine seite auch mal irgendwo gespeichert wird etc , und das wäre nur von vorteil wenn man einfach mal rauslesen kann , in was das angezeigt werden soll . :smile: Dann weiss jedes Programm auch ohne Server worum es geht :smile:

Nur weil es auch ohne geht ist es nicht sinnvoll es ohne zu belassen :smile:

Danke!
Frage beantwortet! Dankeschön!

Doch noch was…
Hallo nochmal,

ich hab den Administrator des Server angeschrieben. Dieser hat mir bestätigt, dass kein Zeichensatz vorgegeben ist. Über phpinfo() wird unter PHP CORE bei default_charset no value angezeigt.

Stellt sich wieder die Frage, warum der ISO-8859-1 nicht korrekt funktioniert?

Gruß

Hallo,
erstens kann der Server einen default charset haben ,
und das sogar für jede Dateiendung speziel .
Und PHP hat wie PHPinfo anzeigt auch noch mal eigene Einstellungen zu bieten.

Nun gut ,

Stellt sich wieder die Frage, warum der ISO-8859-1 nicht
korrekt funktioniert?

was funktioniert jetzt wie nicht ?

Meinst du die Eingaben ? Oder die Sachen in deinen Optionsfeldern ?

Ist das was Du eingegeben hast wirklich die ISO-8859-1 gewesen ?
Also einfach erst abspeichern als ISO-8859-1 und dann die Zeichen schreiben üäöß.

in php könntest du den header noch selber setzen

header(„Content-Type: text/html; charset=ISO-8859-1“);

wichtig ist das die Zeichen alle auch in dem code geschrieben wurden und nirgends gewandelt werden .

andere Frage, welchen editor benutzt Du ?

Hallo,

ich meinte, dass die Switch-Case Abfrage nicht unter ISO-8859-1 funktioniert. Umlaute im HTML und im PHP Teil werden aber auch falsch ausgegeben. Sogar dann, wenn ich im PHP-Teil den Charset auf ISO-8859-1 setze.
Ich verwende Aptana Studio 3. Habe aber dort bereits den Charset auf 8859-1 gesetzt.

Dann frage ich beim Administrator nochmals nach, welchen Zeichensatz der Webserver vorgibt.

Gruß und Dank für die Rückmeldung

Wahrscheinlich doch der Editor
Hallo,

also ich habe im Editor unter XP den Quellcode nochmal einefügt und über Windows auf den Webserver hochgeladen. Siehe da es geht. Mit ISO-8859-1. Also anscheined liegt es am Aptana Studio 3.

Gruß und Dank

ich mag notepad++
aber gibt noch viele andere