Ankündigung

Einklappen
Keine Ankündigung bisher.

Umlaute

Einklappen

Neue Werbung 2019

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

  • Umlaute

    Hallo,

    ich weiß, das Thema ist bereits 1000mal hier durchgekaut worden; jedoch finde ich keine Lösung.

    Bei mir werden Umlaute, welche ich normal als Text schreibe
    PHP-Code:
    echo "Ändere hier"
    korrekt dargestellt. Bei Text, welchen ich aus der Datenbank auslese, werden die Umlaute nicht korrekt angezeigt, obwohl diese in der Datenbank korrekt (also mit ü,ö,ä) stehen.
    PHP-Code:
    echo "Ort: ".$ort
    Ort lese ich vorher aus der Datenbank aus.

    Ich habe im Header mehrere Varianten ausprobiert:
    Bei
    Code:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    wird mir der Ort korrekt angezeigt, jedoch der Text "Ändere hier" falsch
    Bei
    Code:
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    wird mir der Text "Ändere hier" korrekt angezeigt; jedoch der Text Ort falsch.

    Es muss doch eine Lösung geben, dass alle Umlaute korrekt angezeigt werden.


  • #2
    Nimm bitte konsequent UTF-8.

    Dazu passend: http://php-de.github.io/jumpto/mysql-and-utf8/
    Stelle auch sicher, dass das Skript/die Datei selber als UTF-8(ohne BOM) gespeichert ist.

    Kommentar


    • #3
      Zitat von alxy Beitrag anzeigen
      Nimm bitte konsequent UTF-8.
      Stelle auch sicher, dass das Skript/die Datei selber als UTF-8(ohne BOM) gespeichert ist.
      ++ , vermute ich auch.

      Zitat von Aus PHP.de Beiträgen
      Nutze konsequent UTF-8. Kurze Checkliste für UTF-8 und Umlautprobleme:
      - HTTP Header Content-Type mit UTF-8
      - in HTML-Seiten <meta http-equiv="content-type" content="text/html; charset=utf-8" />
      oder <meta charset="utf-8"><!-- HTML5 -->
      sollte idealerweise als Erstes, gleich nach dem einleitenden head-Element erfolgen
      - PHP und HTML/Template Dateien im Editor als "UTF-8 ohne BOM" speichern
      - Formulardaten in UTF-8 übergeben (ggf. mit accept-charset="utf-8" sicherstellen)
      - Datenbank Zeichensatz UTF-8, Tabellenkollationen utf8_general_ci o.Ä.
      - Datenbankverbindung von PHP zu MySQL auf UTF-8 stellen
      - Daten aus Fremdquellen müssen in UTF-8 überführt werden, wenn sie nicht als UTF-8 vorliegen
      utf8_encode: ISO-8859-1-Zeichenkette -> UTF-8
      - htmlentities codierung mitgeben, Beispiel: htmlentities($info,ENT_NOQUOTES,'UTF-8');
      - für deutsche Monatsnamen wie März ist u.U. setlocale(LC_TIME, "de_DE.utf8") notwendig
      Diagnosetipps:
      Erscheinen ��� statt der erwarteten Umlaute äöü, dann werden oft ISO 8859-1 codierte Zeichen im Browser als UTF-8 interpretiert.
      Mögliche Ursache:
      Für den Header/Metatag ist charset=UTF-8 gesetzt, die Seiten sind jedoch nicht als UTF-8 gespeichert
      oder die Zeichen stammen aus einer nicht UTF-8 Fremdquelle (Datenbank, Datei, Window-System..)

      Erscheinen Ausgaben wie ä ö ü für ä ö ü, dann werden oft UTF-8 codierte Zeichen als ISO 8859-1 interpretiert.
      Mögliche Ursache:
      Fehlender oder falscher Header/Metatag. Ein header('Content-Type: text/html; charset=UTF-8'); im PHP-Script löst
      in vielen Fällen schon das Problem.
      oder eine sog. Überkodierung: header und Zeichen UTF-8, irgendwo ein utf8_encode zuviel.
      PHP-Klassen auf github

      Kommentar


      • #4
        Habe auf utf-8 umgestellt und die Werte aus der DB werden auch korrekt angezeigt. Ich habe aber das Problem, das
        Das dann der Text aus der DB korrekt angezeigt wird aber der normale Text. nicht.

        Text aus DVB ist OK, normaler Text wird �ndern / l�schen
        angezeigt.

        Wie bekomme ich nun den normalen Text dazu, als utf-8 angezeigt zu werden, ohne, dass ich den UTF-8 ändere.

        Ich kann entweder oder wählen, aber nicht beide.
        Wie kann ich konsequent �ndern / l�schen als utf-8 korrekt anzeigen lassen?

        Kommentar


        • #5
          Mit welchem Character Set spricht MySQL per Default mit dir?

          Kommentar


          • #6
            Hallo,

            Habe am Wochenende mal das gesamte Skript ausgeschlachtet.

            Ergebnis:
            jspit hat de Fehler genannt. Die Seite war überkodiert.

            Thx für die Hilfestellung.

            Problem erledigt.

            Kommentar

            Lädt...
            X