coldfusioncfchart

Display a £ sign in Coldfusion charts


Quite simple really, I want to display the British pound sign (£) in the yAxis title in a printed Coldfusion PNG chart.

Here's my code:

<cfchart xAxisTitle="Year" yAxisTitle="Cash Flow (£)" gridlines="6" showXGridlines="yes" showYGridlines="yes" showborder="no" format="png" seriesplacement="stacked" chartwidth="350" chartheight="200"> 
    <cfchartseries type="bar" seriesLabel="Saving" seriescolor="##434348">
        <cfset chartYear = 0>
        <cfloop list="#FORM.chartSaving#" index="value">
            <cfchartdata item="#chartYear#" value="#Round(value)#">
            <cfset chartYear = chartYear + 1>
        </cfloop>
    </cfchartseries> 
    <cfchartseries type="bar" seriesLabel="RHI" seriescolor="##7cb5ec">
        <cfset chartYear = 0>
        <cfloop list="#FORM.chartRHI#" index="value">
            <cfchartdata item="#chartYear#" value="#Round(value)#">
            <cfset chartYear = chartYear + 1>
        </cfloop>
    </cfchartseries>
</cfchart>

I've tried various combinations of £ and &##163; but nothing is displaying the £ sign.

Any Ideas ?


Solution

  • Try using chr() with its decimal value:

    <cfchart xAxisTitle="Year" yAxisTitle="Cash Flow #chr(163)#" ....>
    

    If you want to hard code the literal £ character into the CF source file, be sure to set the file's encoding to UTF8. Otherwise, it will not be displayed correctly.

       <cfprocessingDirective pageEncoding="UTF-8" />
       <cfchart xAxisTitle="Year" yAxisTitle="Cash Flow (£)"  ....>