myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

php, DOMDocument, utf-8 und umlaute

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 03.07.11, 02:30   #1
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard php, DOMDocument, utf-8 und umlaute

nabend,

evntl kann mir jemand helfen:
mein string zur ausgabe kommt aus einer datenbank in utf-8 kodierung. daran kann ich nichts ändern.
auch ein
Code:
header("Content-Type: text/html; charset=utf-8");
wurde bereits gesendet. kann ich auch nicht ändern.
um das problem nachzustellen:
Code:
header("Content-Type: text/html; charset=utf-8");
$html =  utf8_encode ('<div>äöüäöäüö<div>');
echo $html;
funktioniert wie erwartet.
allerdings:
Code:
header("Content-Type: text/html; charset=utf-8");
$html =  utf8_encode ('<div>äöüäöäüö<div>');
$d = new DOMDocument ('2.0', 'UTF-8'); // hier probehalber 2.0, weil 1.0 nicht das gewünschte resultat liefert.
$d->loadHTML ($html);
echo $d->saveHTML();
nicht.

ich brauche DOMDocument um das html umzubauen. und das per str_replace bzw. preg_replace zu machen ist viel zu ineffizient in meinem fall.
jemand eine idee?
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 03.07.11, 10:44   #2
Epeos
Ist öfter hier
 
Benutzerbild von Epeos
 
Registriert seit: Nov 2010
Beiträge: 198
Bedankt: 96
Epeos ist noch neu hier! | 0 Respekt Punkte
Standard

Hast du Dir mal die User-Comments zu loadHTML auf php.net angesehn (hier: [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]). Die sind voll von Problemen mit UTF-8 und es gibt eine ganze Reihe von Lösungsvorschlägen. Vielleicht löst einer Dein Problem. Aber grundsätzlich macht PHP mit UTF-8 nicht wirklich viel Spaß
__________________
On a long enough timeline, the survival rate for everyone drops to zero. (Fight Club)
Epeos ist offline   Mit Zitat antworten
Ungelesen 03.07.11, 22:18   #3
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

jupp. es reicht nicht utf-8 als encoding beim constructor von DOMDocument anzugeben.
loadHTML() will auch noch nen meta haben.
den meta und anderer kram, der von saveHTML() zugefügt wird muss dann noch entfernt werden...

so funzt es: [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:28 Uhr.


Sitemap

().