2010-10-28 9 views
4

J'ai une ligne de code coldfusion qui inclut un fichier cfm encodé avec le jeu de caractères utf-8 et l'enregistre dans une variable. Le problème que j'ai est qu'il n'y a aucun moyen de spécifier un jeu de caractères dans cfinclude et la variable résultante ne semble pas lire utf-8 correctement donc tous les caractères non ASCII sont rendus de façon incorrecte.cfsavecontent + cfinclude avec le jeu de caractères utf-8?

<cfsavecontent variable="content"> 
    <cfinclude template="test.cfm"> 
</cfsavecontent> 
<cfoutput>#content#</cfoutput> 

Si je cffile ce n'est pas un problème parce que je peux spécifier un chaset, mais le fichier ne sont pas analysées pour les variables coldfusion.

<cfset path = expandPath(".") & "\test.html"> 
<cffile action="read" file="#path#" variable="content" charset="utf-8"> 
<cfoutput>#content#</cfoutput> 

Ma question - Est-il possible de charger un fichier coldfusion analysé dans une variable tout en honorant un jeu de caractères spécifique?

Répondre

9

Je ne sais pas si cela fonctionne ou non, mais la seule chose que je peux penser est de mettre un

<cfprocessingdirective pageencoding="utf-8" /> 
tag

au sommet du code étant inclus (test.cfm) . Cela indique à CF d'utiliser un codage spécifique lors de la compilation du code.

+0

Cela fonctionne et j'apprécie grandement la réponse. Je préférerais ne pas modifier les fichiers inclus, mais si ce n'est pas possible, ce sera suffisant. –

0

Je pense que vous avez besoin du cfprocessingdirective dans le fichier inclus et dans le fichier principal.