web-dev-qa-db-fra.com

Comment définir le codage UTF-8 pour un fichier PHP

J'ai un script PHP appelé:

http://cyber-flick.com/apiMorpho.php?method=getMorphoData&Word=kot

Cela affiche des données en texte brut:

Cz��� mowy: rzeczownik
Przypadek: Dope�niacz
Rodzaj: şe�ski
Liczba: mnoga

Comme vous pouvez le constater à la place des caractères appropriés, il y a des "buissons". Ce que je voudrais faire, c’est d’afficher ceci d’une manière qui permette aux gens de voir dans le navigateur les caractères UTF-8 appropriés.

Vous pouvez l'encapsuler dans des balises HMTL et le définir au format méta UTF-8, mais comme les données reçues à partir de ce script seront traitées ultérieurement, je ne souhaite pas utiliser de balises HTML, il ne devrait s'agir que de résultats en texte brut.

Donc, y a-t-il un moyen d'informer le navigateur que ce fichier est au format UTF-8 sans utiliser de balises méta?

PS Le fichier est encodé en UTF-8 et si je modifie manuellement l’encodage du jeu de caractères dans mon navigateur en UTF-8, il affiche ok, mais ce que je veux accomplir, c’est que personne ne soit obligé de le faire.

43
Tomasz Smykowski
header('Content-type: text/plain; charset=utf-8');
98
delphist

Notez également que la définition d’un en-tête sur "text/plain" tous les caractères html et php (en partie) imprimeront les caractères à l’écran en tant que TEXT et non en HTML. Soyez donc conscient du possible risque d’analyse HTML lors de l’utilisation du type de texte plain.

En utilisant:

header('Content-type: text/html; charset=utf-8');

Peut renvoyer HTML et PHP également. Pas seulement du texte.

9
Larry Judd

PHP, par défaut, renvoie toujours l’en-tête suivant: "Content-Type: text/html" (not not no charset), vous devez donc utiliser

<?php header('Content-type: text/plain; charset=utf-8'); ?>
7
Jan Dragsbaek

Vous devez spécifier le codage des données. Soit en méta, soit dans les en-têtes

header('Content-Type: text/plain; charset=utf-8');
3
zerkms

Essayez de cette façon header('Content-Type: text/plain; charset=utf-8');

3
Intrepidd

Fichier HTML:

<head>

<meta charset="utf-8">

</head>

Fichier PHP:

<?php header('Content-type: text/plain; charset=utf-8'); ?>
1
Patrick-Peng