Problem mit htmlentities

ciubic

Mitglied
Hallo,

Ich habe seit neuestem ein Problem:

PHP:
echo htmlentities("Ä-Ö-Ü-ä-ö-ü");

gibt mir nicht:

Code:
Ä-Ö-.....


aus sondern:

Code:
�-�-�-ä-ö-ü       	ã

aus

Kann mir jemand sagen was ich falsch mache ?
lg
Julian Nischler
 
Welche Zeichensatz benutzt deine Datei?

Das ganze sieht nach einem Konflikt der Zeichensätze aus.
 
Bei UTF-8 und selbst bei ISO 8859-1 brauchst du die Umlautzeichen gar nicht durch Zeichenreferenzen zu ersetzen. Die HTML-Metazeichen allein kannst du mit der htmlspecialchars()-Funktion ersetzen.
 
In letzter Zeit habe ich nicht viel in PHP gearbeitet,
jedoch kann ich mit erinnern das ich dieses Problem bei früheren Projekten nicht hatte.

Ich werde es jetzt einfach mit htmlspecialchars machen und
diese Zeile verwenden:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
lg
Julian Nischler
 
Die htmlentities()-Funktion erwartet einen ISO-8859-1-kodierte Zeichenkette. Über den dritten Parameter kann jedoch ein anderer Zeichensatz angegeben werden.
 
Hallo, ich habe dasselbe problem wie ciubic.

PHP:
echo htmlentities("lülä");

geht nicht. Ich bekomme wenn ich den quelltext im browser anschaue "&Atilde;&frac14;l&Atilde;&curren;" heraus.

So gehts aber:
PHP:
echo htmlentities("Ä-ö",ENT_QUOTES,"UTF-8");

Ich habe xampp lokal auf meinem Rechner

Gibt es eine möglichkeit das htmlentities funktioniert ohne den zusatz parameter Ent_quotes ?
 
Jo klar, du kannst generell mit Latin1 als Zeichensatz arbeiten...dann wäre das 3.Argument nicht vonnöten.

Ist allerdings fraglich, was weniger Arbeit macht...ganzes Projekt umstellen oder aber die Parameter bei der Funktion notieren.

Alternativ könntest du dir auch einfach eine eigene Methode schreiben, welche das standardmässig mit UTF8 macht.
 
Zurück