Comment imprimer un caractère Euro (€) sur un fichier UTF-8?

J'ai un fichier .php enregistré sous UTF-8 et je voudrais le laisser imprimer un caractère comme €

Comment puis-je le faire?

C'est le code source de l'exemple:

<?php
header('Content-Type: text/html; charset=UTF-8');

echo "€";
?>

Le fichier a été sauvegardé avec notepad ++ comme UTF-8 mais quand j'exécute le fichier, il m'imprime simplement "?"


Réponse

Alors que la réponse fournie ici UTF-8 tout au long de remplit divers aspects de UTF-8, j'ai trouvé la réponse à ma question dans le commentaire Matthew .

The .php file was saved as UTF-8 but WITH BOM. Within Notepad++ i choosed Format-> "UTF-8 without BOM" and the script worked.

3
ajouté édité
Vues: 1
Cela devrait fonctionner si le fichier est encodé en UTF-8. Regardez-vous cela dans un navigateur ou sur la ligne de commande?
ajouté l'auteur deceze, source
Alors que la réponse fournie ici stackoverflow.com/questions/279170/utf-8-all-the-through-through remplit divers aspects de l'UTF-8, j'ai trouvé la réponse à ma question dans le commentaire de Matthew. Le fichier .php a été enregistré en tant que UTF-8 mais WITH BOM. Avec Notepad ++ j'ai choisi Format-> UTF-8 sans BOM et le script a fonctionné.
ajouté l'auteur Scalax, source
Assurez-vous que le fichier est sauvegardé en UTF8 sans BOM: Copiez le contenu du fichier, ouvrez un nouveau fichier encodé UTF8 sans nomenclature, collez et enregistrez.
ajouté l'auteur Matthew, source

1 Réponses

Il semble que le symbole de l'euro dans le fichier ait été saisi en tant que Windows-1252 ou un autre jeu de caractères non-UTF-8 (encodage). Comment exactement l'avez-vous tapé? Ne me dites pas que vous l'avez copié et collé à partir d'un document Word!

For output to a browser, consider using instead -- guaranteed good. If it must be a hard coded binary multibyte character, you have to double check that you're actually editing in UTF-8 mode. I suspect that you aren't.

0
ajouté