[gelöst] Umlaute und Sonderzeichen in der PHP-Abfrage darstellen
am 17.12.2012 - 17:34 Uhr in
Hallo liebe Helfer,
auf der normalen PHP-Website werden die Umlaute richtig interpretiert (0,58€/Wp; führend).
Wenn ich die gleiche Abfrage in der Drupal Seite anzeige, sind die Umlaute durch Kästchen dargestellt (0,58�/Wp; f�hrend).
Was kann ich zur Abhilfe tun?
Vielen Dank im Voraus
Horst
- Anmelden oder Registrieren um Kommentare zu schreiben

Wie gehst du denn vor? Ist
am 17.12.2012 - 17:50 Uhr
Wie gehst du denn vor? Ist das eine eigene Datei? Der Fehler sagt ja aus, dass die Sonderzeichen nicht dargestellt werden können, was für ein "Problem" mit UTF-8 spricht. Tritt z.B. auf, wenn Dateien nicht richtig gespeichert wurden, bzw. falsch formatiert.
Eventuell hilft dir auch utf8_encode() als Funktion weiter.
Allerdings bin ich kein PHPler, daher alles der berühmte Schuss ins Blaue. :)
Danke für die
am 17.12.2012 - 18:03 Uhr
Danke für die Hilfsbereitschaft,
utf8_encode() lässt sich nicht als upload-Variante einsetzen. Ich habe alles mit utf8 hochgeladen.
In der Datenbank selbst sind die Umlaute und Sonderzeichen richtig vorhanden (PHP-Admin).
Kann es sein, dass es am "Drupal-Übersetzungstool" liegt, das kein €-Zeichen und keine Umlaute kennt?
Gruß, Horst
Hast Du ein eigenes Theme und
am 17.12.2012 - 18:37 Uhr
Hast Du ein eigenes Theme und dort in der html.tpl.php nicht angegeben, daß die Seite UTF8 Inhalt ausliefert? Diese Probleme habe ich mit Drupal "out of the Box" noch nie gehabt. Wechsle doch mal auf ein Standard Theme und prüfe, ob das Problem dann immer noch besteht.
Beste Grüße
Werner
Ich benutze als Theme Bartik.
am 17.12.2012 - 18:49 Uhr
Ich benutze als Theme Bartik. Ich werde mir die Datei mal ansehen. Ich denke, Bartik ist ein Standard-Theme?
Sorry, ich finde die Datei "html.tpl.php" nicht und weiß nicht wo ich da nachschauen soll.
Gruß, Horst
Hast Du den Text über ein
am 17.12.2012 - 18:55 Uhr
Hast Du den Text über ein eigenes PHP-Programm eingestellt? Dann liegt dort der Fehler. Wenn Du in einem "normalen" Node-Body diesen Text zu Testzwecken eingibst, sollte Drupal ihn auch richtig darstellen. Hier im Forum wird es schließlich auch richtig dargestellt und das ist eine normale Drupal-Installation.
Beste Grüße
Werner
Was ich benutze ist die Kopie
am 17.12.2012 - 22:25 Uhr
Was ich benutze ist die Kopie einer PHP-Seite, die auf dem gleichen Server wunderbar funktioniert. Wenn ich nun in Drupal den gleichen Code ansehe, sind die Sonderzeichen und Umlaute weg. Das kann doch nicht am PHP-Code liegen?!?
Horst
Dann erkläre mir, warum in
am 17.12.2012 - 23:38 Uhr
Dann erkläre mir, warum in einer normalen Drupal-Installation wie hier im Forum alles korrekt dargestellt wird? Der Unterschied liegt in Deinem PHP-Code.
Beste Grüße
Werner
PHP-Version? Bis 5.3 Standardkodierung ISO-8859-1.
am 18.12.2012 - 09:23 Uhr
Nur ein Schuss ins Blaue: Wir hatten neulich ein ähnliches Problem und sind dann darauf gestoßen, dass PHP bis 5.3 als Standardkodierung ISO-8859-1 verwendet und erst ab 5.4 UTF-8, siehe z.B. html_entity_decode(). Vielleicht schaust du deinen PHP-Code daraufhin noch mal durch.
[gelöst] LÖSUNG GEFUNDEN!
am 02.01.2013 - 12:39 Uhr
Die Lösung ist ganz einfach, nämlich den PHP-Code anzupassen auf UTF8.
Dies sieht im Script fogendermaßen aus,
nach dem Anmelden an der Database:
<?php$verbindung = mysql_connect("domain.de.mysql", "Datenbank", "Passwort") or die ("Fehler im System! (Fehler: Anmeldung fehlgeschlagen)");
mysql_select_db("Datenbank") or die ("Verbindung zur Datenbank ist nicht möglich!");
?>
wird folgende Zeile eingefügt:
<?phpmysql_query("SET NAMES 'utf8'") or die(mysql_error());mysql_query("SET CHARACTER SET 'utf8'") or die(mysql_error());
?>
Dies hat mir eine Service-Mitarbeiterin meines ISP (One.com) vorgeschlagen und es klappt!
(Der Service von one.com ist einfach spitze, absolut kompetent und 24/7 erreichbar!)
Es wird der deutsche Zeichensatz angezeigt!
Allen, die versuchten mir zu helfen, ein herzliches Dankeschön!
Frohe Weihnachten und einen guten Rutsch ins neue Jahr 2013!
Viele Grüße, Horst
Bitte als [gelöst] markieren
am 02.01.2013 - 09:33 Uhr
Danke (auch für die ausführliche Lösung)!
Bitte im ersten Posting
am 03.01.2013 - 09:16 Uhr
Vielen Dank, aber bitte noch mal im ersten Posting, damit es auch in den Übersichten kenntlich ist ;-)