Cannot print Vietnamese with POS printer

When i setup my POS printer(TOPCASH POS-58), i got the following issues:

  1. With character encoding: Vietnamese Windows 1258, the result will be

  2. With character encoding: Unicode Utf-8, the result will be

  3. When i use the Preview function in the “Ticket template”, the encoding is ok.

Please help me to resolve this issue. Thanks so much

Show a screen shot of your ticket printer settings page, there is a option for character set.
Also check your printers driver options, I believe printers have a similar option relating to character set.

Below are the settings:

Your printer should support 1258 encoding. To learn current character set for your printer…

  1. Switch off your printer.
  2. Switch it on while holding (pressing) page feed button.

It will print a test page with printable characters and detailed info about setup. Check this page to see if there is info about active setting.

Alternatively you can change printer type as HTML. It will print in graphical mode so Vietnamese characters will appear fine.


HTML option is a handy tip :smile:

I tried to do as your guide and this is the result:

  1. Page feed button: It only printed out the text: “Hexadecimal Dump”
  2. HTML mode: It printed as below


Try just printing a regular ticket if you turn on HTML mode does the ticket print? Ring something up and print a ticket.

I printed a normal ticket by HTML mode and the result as the picture i sent…:frowning:

Looks like it could be a setting in your drivers.

I think the printer driver is ok. There is something wrong in the soft settings. I guess so.
I used notepad to print a test page in Vietnamese and the encoding is ok as below:

Did you tried printing windows test page through the driver? Does it prints windows logo?

You can also set printer type as text to print like notepad does.

Thanks. Print like a text mode is ok now. The encoding is correct. However, the font size seems very large when printing as the text mode. How can i adjust the font-size?

In text printer mode font size & margins determined by printer. You can check driver settings if such setting exists for font size. Seems like it prints 18 characters per line so you can decrease Line Character Count to 18 for prettier output.

Thanks for your valuable help. The output is prettier now but font-size is too big. I cannot see the font-settings in the driver. I’m trying to change the Windows system font…

You’ll have font-size, logo, bold printing possibilities with HTML printing. In text mode we send characters to printer and printer determines how to print them. In HTML mode we send data in postscript mode so it will print as it appears in preview pane. If it is possible you can try with a different printer or try to change printer settings to enable graphical printing. It shouldn’t print zeros like you’ve showed.

Also for ESC/POS mode you can try using a generic Epson driver instead of your printer driver. That solves some issues for some printers but I don’t know if it will work for your printer model. Vietnamese fonts should be installed in printer memory and that code page should selected to be able to print in ESC-POS mode. Some printers supports multiple font sets like arabic, hebrew, etc. So printer should also correctly configured to be able know which character set you want to use. For some printer models Code page selection or font size selection might be configured through dip switches located under or behind of your printer. A manual for your printer model will help.

Also keep in mind some printers just don’t work correctly because of a hardware, printer cable or firmware issue. So in some cases testing with a different printer or cable might save hours :slight_smile:

Thanks so much. I will try to change the printer…:smile:

Did you try to reduce line character count saw you use 58mm printer

not sure if this will work for you but it work for me.

58mm printers I use work out to be 32 character count in ticket printer mode.