Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 4336
  • Last Modified:

Zebra ZPL II language printing a pound sign

I'm trying to print a product barcode label using ZPLII language on a Zebra ZM400.  This is working except I'm unable to print a pound sign (£) which prints as ü.  This is the code I'm producing (this is written to a text file then copied to the printer port using a batch file):

^XA
^LH25,20
^FO25,10^A0,30,20^FDAuto Fade Light^FS
^FO260,45^A0,60,30^FD£20.00^FS
^FO50,100^BY2,3^BE,70^FDA3077^FS
^PQ1
^XB
^XZ
^EZ

A dollar sign ($) prints fine.  I think it's something to do with changing the code page sets but I have no idea how to do this.  There is another post with the same problem http://www.experts-exchange.com/Microsoft/Development/Q_25100714.html but this has not been answered.

Any help would be appreciated.

Thanks
0
Russell_Harper
Asked:
Russell_Harper
2 Solutions
 
MidnightOneCommented:
Which character set at you using?
0
 
Russell_HarperAuthor Commented:
Not sure, how can I check this?
0
 
dbruntonCommented:
Look at http://fixunix.com/ibm-as400/106486-instructions-how-set-up-zebra-lp-2844-z.html

A solution to printing the pound sign is shown at the bottom.  Pay to read the article though.  They are prefixing their commands with % instead of ^ and it isn't necessarily the same model printer as yours.
0
Get free NFR key for Veeam Availability Suite 9.5

Veeam is happy to provide a free NFR license (1 year, 2 sockets) to all certified IT Pros. The license allows for the non-production use of Veeam Availability Suite v9.5 in your home lab, without any feature limitations. It works for both VMware and Hyper-V environments

 
Russell_HarperAuthor Commented:
Managed to get a response from Zebra support:

---------------------------------------------------------------------------------------------------------------------------------------

I have commented your code for dissemination purposes.
The ^FX is the equivalent of a REM statement in BASIC programming and all text after this statement is transparent until a carriage return is issued so should be no need to remove for testing.
 
^XA                              ^FX Start Script
^LH25,20                     ^FX Set Label Home to x=25 y=20
^FO25,10                    ^FX Set Field Origin with respect to LH as x=25 y=10
^A0,30,20                    ^FX Use Font 0 with a character height of 30 Dots and width of 20  Dots
^FDAuto Fade Light     ^FX Print the Data
^FS                              ^FX and close the field definition
^FO260,45                  ^FX Set Field Origin with respect to LH as x=260 y=45
^A0,60,30                    ^FX Use Font 0 with a character height of 60 Dots and width of 30  Dots
^FD£20.00                   ^FX Print the data
^FS                              ^FX and close the field definition
^FO50,100                  ^FX Use Font 0 with a character height of 30 Dots and width of 20  Dots
^BY2,3                         ^FX Set barcode default as module width 2, ratio of 3
^BE,70                         ^FX Use a EAN-13 bar code barcode height 70 Dots
^FDA3077                    ^FX Print the Data
^FS                              ^FX close the field definition
^PQ1                           ^FX Set print Quantity to 1
^XB                              ^FX Suppress backed to enhance throughput
^XZ                              ^FX End Script
 
========================================================
^FX Unknown Command         ^EZ
========================================================
 
I have altered your code slightly after duplicating the error you have had. It now prints a £ for me.
Have a look in the attached pdf documents for a little more info.
Use the table within the ZPL manual page 928 if remapping $ is not a suitable character
 
 
I have remapped/substituted the $ symbol for £ using the following code: ^CI2,156,36            
And changed the data to:  ^FD$20.00 [Changes Highlighted below] Notice that you can have multiple ^CI commands within a script
The following statement gives a little more info.
 
‘We recommend that a ^CI command (or Unicode BOM) is included at the beginning of each
ZPL script. This is important when ZPL scripts with different encodings are being sent to a
single printer. To assist in the interleaving of encoding schemes, the printer maintains two
encoding states (^CI0 - 28 and ^CI29 - 30). It automatically acknowledges when it should
switch encoding states, allowing it to distinguish between encodings, and maintains a ^CI
for each, but endianess is shared’.
 
 
Try this code and see how you get on:
 
^XA                              ^FX Start Script
^LH25,20                     ^FX Set Label Home to x=25 y=20
^FO25,10                    ^FX Set Field Origin with respect to LH as x=25 y=10
^A0,30,20                    ^FX Use Font 0 with a character height of 30 Dots and width of 20  Dots
^FDAuto Fade Light     ^FX Print the Data
^FS                              ^FX and close the field definition
^FO260,45                  ^FX Set Field Origin with respect to LH as x=260 y=45
^A0,60,30                    ^FX Use Font 0 with a character height of 60 Dots and width of 30  Dots
^CI2,156,36                ^FX Using Uk Subset and codepage 850 substitute chr$ (36) for chr£ (156)
^FD$20.00                   ^FX Print the data
^FS                              ^FX and close the field definition
^FO50,100                  ^FX Use Font 0 with a character height of 30 Dots and width of 20  Dots
^BY2,3                         ^FX Set barcode default as module width 2, ratio of 3
^BE,70                         ^FX Use a EAN-13 bar code barcode height 70 Dots
^FDA3077                    ^FX Print the Data
^FS                              ^FX close the field definition
^PQ1                           ^FX Set print Quantity to 1
^XB                              ^FX Suppress back-feed to enhance throughput
^XZ                              ^FX End Script

---------------------------------------------------------------------------------------------------------------------------------------

Hopefully this will be of help to other users.

Russ
0
 
Russell_HarperAuthor Commented:
The answer I submitted is the correct solution directly from Zebra and works
0
 
Ganesh PateCommented:
Hi,
In my case data is not coming its coming empty and removing the special character.

I have this type of text ....
ALK öntapadós teflonszövet 5058 AP Signod fóliázóhoz

but after printing...
ALK ntapads teflonszvet 5058 AP Signod flizhoz

can you please suggest how to resolve this issue.
0
 
dbruntonCommented:
Ganesh, I suggest you open a new question.  This is a very old question and not many people will be looking at it.  Open a new one and you'll get more people looking at it.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now