Umlaute der Kategorien werden nicht richtig dargestellt (bug-id576)

Read-Only-Modus

Das 01-Supportforum befindet sich im Read-Only-Modus. Es ist nicht mehr möglich sich zu registrieren, neue Themen zu erstellen oder auf bestehende Themen zu antworten.

Alle Inhalte stehen bis auf absehbare Zeit jedoch weiterhin lesend zur Verfügung.


Bei Fehlern oder Problemen mit PHP-Scripten von 01-Scripts.de erstellen Sie gerne einen Issue-Eintrag auf Github oder nehmen Sie per E-Mail Kontakt auf.

  • Hallo Herr Lorer,


    haben Sie noch eine Idee, wie man das Problem lösen kann?


    Im eigentlichen Artikeltext werden die Umlaute korrekt dargestellt, nur die Kategorien werden falsch angezeigt.


    Ich habe auch schon probiert bei den Kategorien "ä" statt "ä" zu verwenden, das bringt aber auch nichts.

  • Hallo,


    wie ich soeben gesehen habe trat das Problem auch auf 01-Scripts.de auf.
    Folgende Änderung ist zur Behebung nötig:
    Ändern Sie Zeile 139 der Datei 01article.php:

    PHP
    1. $category[$rowcat['id']]['name'] = htmlentities(stripslashes($rowcat['name']));


    Folgendermaßen ab:

    PHP
    1. $category[$rowcat['id']]['name'] = htmlentities(utf8_decode(stripslashes($rowcat['name'])));


    MfG,
    Michael

  • Hallo Herr Lorer,
    inzwischen ist das Problem wieder aufgetreten. Haben Sie noch eine andere Idee, was man ändern muss, damit die Umlaute richtig dargestellt werden?


    So funktioniert es:

    Code
    1. $category[$rowcat['id']]['name'] = utf8_encode(stripslashes($rowcat['name']));


    Kann ich das so lassen, oder sind hier andere Probleme möglich?

  • Das Problem kann dann aber nur wieder aufgetreten sein, wenn Sie was an der Codierung und/oder Auslieferung ihrer PHP-Seite geändert haben.
    Von selbst kann sich da eigentlich nichts ändern.


    Aber wenn das mit der geposteten Lösung funktioniert, dann können Sie das so lassen.

  • Daselbe Problem tritt bei mir auch bei den Benutzerdefinierten Feldern auf.


    Wo werden die eigentlich eingelesen?


    Ich habe direkt in der artikel.html folgenden Eintrag gemacht:

    PHP
    1. <?php if (!empty($row['ser_field_1']) && $more == 0): ?>
    2. <p> <span style="font-weight: bold;">Feld: </span><?php echo utf8_encode(stripslashes($row['ser_field_1'])); ?></p>
    3. <?php endif; ?>


    oder kann man den String vorher schon umformatieren?


    Edit: ich habe die Stelle in der 01article.php gefunden: etwa Zeile 365