htmlentities und € (Euro) Zeichen?

chris4712

Erfahrenes Mitglied
Hallo!

Mich wundert irgendwie dass die Suche nichts ausgespuckt hat...
Ich habe folgenden (test) Code

PHP:
<?PHP
$mow = '€';
 
echo "BEGIN";
echo htmlentities($mow);
echo " - ";
echo htmlspecialchars($mow);
echo " - ";
echo htmlentities($mow, ENT_QUOTES, "UTF-8");
echo "ENDE";
?>

Der daraus erstellte HTML Code sieht so aus:
Code:
BEGIN€ - € - €ENDE

Aber er müsste doch eigentlich so aussehen:
Code:
BEGIN&euro; - € - &euro;ENDE

Was mach ich falsch?
Gruß!
 
Edit: Bezog sich auf einen, wohl gelöschten, Beitrag....


Hallo!

Habe doch geschrieben dass es nur ein TEST Code ist! Von daher ist es so durcheinander.

Mich wundert halt dass es nicht funktioniert. Egal welchen Zeichensatz ich verwende.

Das Problem ist folgendes: Der eigentliche PHP Code wird per AJAX angesteuert. Und bei der Rückgabe darf ich keine Sonderzeichen oder ähnliches verwenden!

Gruß!
 
Zuletzt bearbeitet:
Hi,

htmlentities benutzt standardmäßig ISO-8859-1. Da ist das Eurozeichen nicht mit drin. Dass bei der Verwendung von UTF-8 nichts passiert, wird daran liegen, dass Dein PHP-Script im ISO-Latin-Zeichensatz gespeichert ist. Wenn das so sein soll, dann nimm statt "UTF-8" "cp1252" (das ist die Windows-Latin Codetabelle, die die Lücke zwischen low-ascii und ISO-8859-1 unter anderen mit dem Eurozeichen auffüllt :) ).
Oder Du speicherst das Script als UTF-8 und nimmst halt UTF-8. Das kommt halt auch ein bischen darauf an, was für einen Input Du bekommst und was Du eigentlich dann ausliefern möchtest (UTF-8? Latin?). Spiel da mal ein bischen mit rum und staune...;)

Viel Erfolg!
 
Zurück