2010-09-29 33 views
2

J'ai une page Web qui est définie sur UTF-8. Mais certaines parties de son contenu (construit en php) proviennent de fichiers iso-8859-1 et ne sont donc pas affichées correctement.Codages de plusieurs caractères dans une page HTML possible?

Est-il possible de définir un codage spécifique pour un élément de page particulier?

+0

Définir "viens de". Comment allez-vous chercher le contenu externe exactement? –

+0

Eh bien, un tas d'éléments sont stockés dans un fichier qui php analyse pour charger les valeurs requises – tool

Répondre

1

Vous pouvez, au lieu d'inclure cette sortie directement, transmettre cette sortie php via un script de conversion. PhP a une fonction de conversion décente mb_convert_encoding qui pourrait faciliter la tâche.

+0

+1 c'est le chemin à parcourir. 'mb_convert_encoding()' ou 'iconv()' règlera tous les problèmes pour vous. –

+0

Je vais le faire, merci – tool

0

Non, je ne pense pas que cela puisse être fait. Comme vous utilisez déjà UTF-8 dans la page, il doit y avoir quelque chose qui ne va pas lorsque vous lisez le contenu d'autres pages si vous obtenez des résultats inattendus. Vous ne devriez pas rencontrer de problèmes avec une page UTF-8.

0

Non, seul un seul codage peut être utilisé sur une page. Vous pourriez vouloir encoder votre iso-stuff en entités générées par PHP.

+0

Je ne peux pas, ces fichiers sont également utilisés par un autre site Web où tout est codé en ISO – tool

0

Vous pouvez finir par utiliser une iframe pour afficher l'autre contenu afin de pouvoir définir votre balise META pour l'encodage de caractères dont vous avez besoin.

+0

Je préfère ne pas, mais merci pour l'idée – tool

0

Comment insérez-vous les fichiers Latin-1 dans la page? Si vous les chargez en tant que texte et que vous les incluez ensuite en tant que texte, alors j'aurais l'espoir que la conversion pertinente serait effectuée pour vous. Si vous incluez simplement les fichiers sans aucune transformation, ce serait effectivement un problème.

Je ne sais pas ce que PHP utilise comme format de texte interne (par exemple Unicode) mais si vous pouvez l'utiliser comme encodage intermédiaire, ça devrait aller.

+0

PHP charge le contenu du fichier (une liste d'éléments). Je pourrais utiliser php pour changer l'encodage à la volée. Mais j'espérais que je pourrais juste ajouter un attribut à la div. – tool

+0

@tool: Je ne crois pas ... ce serait vraiment bizarre, vraiment. Gardez à l'esprit que la réponse HTTP a déjà spécifié le type de contenu, incluant éventuellement l'encodage. –

+0

Oui, mais je me souviens d'avoir lu quelque part que c'était possible, mais je ne trouve pas l'article. O peut-être que je me trompe ... – tool