Umlaute werden bei Abfragen nicht berücksichtigt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Umlaute werden bei Abfragen nicht berücksichtigt

    Von Windows-Client (XP-SP2 und NT4) wird mit IE 6 und IE 5.5 auf einem Linux-Server (Suse9.2) per PHP eine Select-Abfrage ausgeführt.

    Die Seite ist per MetaTag auf ISO-8859-1 eingestellt. Der Zeichensatz von MySQL 4.0.22 steht auf latin1-de.

    In der Datenbank sind Umlaute als solche eingetragen.

    Enthält die Abfrage einen Umlaut, werden keine Ergebnisse zurückgeliefert, wird z.B. nur mit "M" abgefragt, werden auch die Datensätze mit Umlauten angezeigt.

    In der URL wird z.B. das "ü" als "%C3%BC" übertragen.

    Die Variable wird im Antwort-Script per echo korrekt angezeigt, allein MySQL weiss wohl nichts damit anzufangen.

    Mir ist aufgefallen, das im IE unter Kodierung UTF-8 angegeben ist.
    Das lässt sich auch nicht umstellen, ich hab zumindest nichts gefunden.

    Die gleichen Scripte laufen auch innerhalb eines CMS (Contenido). Hier funktioniert die Abfrage. In diesem CMS steht die Kodierung auf Westeuropäisch (ISO).

    Ich hab jetzt schon alles Mögliche ausprobiert und finde einfach keine Lösung.

  • #2
    Du sendest nicht zufällig mit header schon was anderes?
    Evtl. auch in php.ini so eingestellt?

    PHP-Code:
    header('Content-Type: text/html; charset=ISO-8859-1'); 
    vor der Ausgabe sollte helfen;
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      In der php.ini ist default_charset auskommentiert. Das gleiche habe ich mit dem Apachen gemacht.

      In den beiden Scripten habe ich an oberster Stelle den header-Befehl eingefügt. Nun erhalte ich folgende Fehlermeldung:

      PHP-Code:
      WarningCannot modify header information headers already sent by (output started at 
      /home/ftpuser_2/public_html/telefon/tel_admin.php:1in /home/ftpuser_2/public_html/telefon/tel_admin.php on line 2 
      Die HTML-Meta-Tags habe ich entfernt.

      Kommentar


      • #4
        Original geschrieben von gerdon
        Nun erhalte ich folgende Fehlermeldung: [...]
        dann such bitte mal nach der meldung - diesen mist besprechen wir hier jede woche mehrmals, weil alle leute anscheinend kein englisch verstehen.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          dann such bitte mal nach der meldung - diesen mist besprechen wir hier jede woche mehrmals, weil alle leute anscheinend kein englisch verstehen.
          ???

          Die Meldung habe ich doch oben gepostet. Meinst du etwa, ich solle nachsehen, was an der bezeichneteten Stelle im bezeichneten Script steht?
          Das steht noch ein Beitrag weiter oben:

          PHP-Code:
          header('Content-Type: text/html; charset=ISO-8859-1'); 
          Wenn dieser Mist hier jede Woche besprochen würde, dann hätte ich sicherlich eine Lösung gefunden.
          Vielleicht kannst du mir zeigen, wo die steht.
          Im Übrigen reichen meine Englischkenntnisse für eine einfache Konversation sehr wohl aus, aber eine technische Abhandlung (wie z.B. die MySQL-Dokumentation) ist doch schon eine ganze andere Klasse.

          Kommentar


          • #6
            Wenn dieser Mist hier jede Woche besprochen würde, dann hätte ich sicherlich eine Lösung gefunden.
            wenn du gesucht hättest, sicherlich.
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              Ich glaube es ging eher um

              Cannot modify header information - headers already sent
              Was mag das wohl heißen? Du solltest in deinem Script schauen, was vorher passiert.

              Kommentar


              • #8
                Du gibst mit Sicherheit vorher etwas aus.
                Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

                Kommentar


                • #9
                  PHP-Code:
                  <?
                  header('Content-Type: text/html; charset=ISO-8859-1');
                  ?>
                  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
                  <html>
                  Das sind die Zeilen 1-5 des Scriptes. Auch die Fehlermeldung zeigt ja auf Zeile 2. Was kann man denn da noch vorher ausgeben?

                  Oder gehört die header-Deklaration in den <form>-Bereich?

                  Kommentar


                  • #10
                    In Zeile 1 (ja, das steht auch in der Fehlermeldung) steht nur <??
                    kein Leerzeichen, Tabstop, ... vornedran?
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      kein Leerzeichen, keine Leerzeile, keine Tabstops o.ä.

                      Kommentar


                      • #12
                        Dann häng die Datei /home/ftpuser_2/public_html/telefon/tel_admin.php bitte mal an (als *.txt abspeichern, *.php kannst du nicht anhängen)
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          includest du vorher noch eine Datei ??
                          Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

                          Kommentar


                          • #14
                            hier das ganze script:
                            Angehängte Dateien

                            Kommentar


                            • #15
                              benutz mal die richtigen php tags - also <?php ?> -

                              vielleicht wird das <? als XML Deklaration ausgegeben...

                              Kommentar

                              Lädt...
                              X