Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Special Character in CFImage text

Posted on 2011-02-28
11
Medium Priority
?
577 Views
Last Modified: 2012-05-11
Hi all,

I'm trying to render some text (£10.00) to an image using cfimage. However I can't get the £ character to render correctly, I just get £10.00 (see attached image).

I'm using the following code to generate the image. Any help with this would be greatly appreciated.

<cfset voucherValue = "£10.00">

<!--- Create new blank image --->
<cfset newCodeImage = ImageNew("", 450, 140, "rgb", "##FFFFFF") />

<!--- Set new text attributes. --->
<cfset attr = StructNew()>
<cfset attr.font="Arial">
<cfset attr.style="bold">
<cfset attr.size=110>
<cfset ImageSetDrawingColor(newCodeImage,"##000000")>
<cfset ImageSetAntialiasing(newCodeImage)>

<!--- Add value to blank image --->
<cfset ImageDrawText(newCodeImage,"#voucherValue#",0,115,attr)>

<!--- Save temp image --->
<cfimage action="writeToBrowser" source="#newCodeImage#">

Open in new window


 cfimage_specChar
0
Comment
Question by:richard-mckenna
  • 6
  • 4
11 Comments
 
LVL 52

Expert Comment

by:_agx_
ID: 35002302
Try using the unicode representation of £
<cfset vourcherValue = "\U00A310.00">
0
 
LVL 52

Expert Comment

by:_agx_
ID: 35002328
0
 

Author Comment

by:richard-mckenna
ID: 35002329
Unfortunatly not that just renders

\U00A310.00
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
LVL 52

Assisted Solution

by:_agx_
_agx_ earned 800 total points
ID: 35002344
What version of CF are you running. It outputs fine for me w/CF9.0.1
0
 

Author Comment

by:richard-mckenna
ID: 35002366
Ah 9,0,0,251028 let me try updating CF. Good thinking there :)
0
 
LVL 52

Expert Comment

by:_agx_
ID: 35002390
Try adding a UTF8 directive explicitly first. Might be the problem.

<cfprocessingdirective pageencoding="utf-8">
0
 
LVL 3

Accepted Solution

by:
sajayc earned 1200 total points
ID: 35002454
Hi,
Try using the ascii chr code for the pound sign.

<cfset vourcherValue = chr(153) & "10.00">

Hope this helps.

0
 

Author Comment

by:richard-mckenna
ID: 35002492
Solved thanks guys, youve been a great help.

cfprocessingdirective didn't do anything.

After the 9.0.1 update <cfset voucherValue = "£10.00"> renders correctly.

<cfset vourcherValue = chr(163) & "10.00"> works as well (note the number is 163) and I think I'm gonna go with this as it seems a bit more complete.

Thanks again.
0
 
LVL 52

Expert Comment

by:_agx_
ID: 35002530
cfprocessingdirective didn't do anything
Not sure why. A literal copy and pasted worked perfectly for me. But if the ascii code works, then it's definitely an encoding problem.  
0
 

Author Comment

by:richard-mckenna
ID: 35002589
Yeah, they also must have changed the encoding in the 9.0.1 update. Think I'll have a look at the release notes when i get chance, see if I can find anything.
0
 
LVL 52

Expert Comment

by:_agx_
ID: 35002654
Hmm.. I just tested it again and it's not UTF8 that worked. It was windows-1252

<cfprocessingdirective pageEncoding="windows-1252">
<cfset voucherValue = "£10.00">
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hi, I will be creating today a basic tutorial on how we can create a Mail Custom Function and use it where ever we want. The main advantage about creating a custom function is that we can accommodate a range of arguments to pass to the Function and …
Hi, Even though I have created this Tutorial on My personal Blog, Some people might not able to find my website, So here i am posting it again Today, from the topic it is very clear that i will be showing you here the very basic usage of how we …
Video by: ITPro.TV
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…

916 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question