ESC/POS Termal printer UTF-8 charset set up

Viewed 6439

I am trying to print some currency with Citaq v8 (it has a termal printer), but it prints ?, because of the printer character set.

I have byte array (UTF-8) data to print. But the printer has default some character set. How can I change the default character set programatically(like using byte array)? I need to change printer charset settings.

Device: Citaq v8 (the device has a termal printer) PS: I could not find any developer docs.

1 Answers

Perhaps UTF-8 is not supported as a character set/code table.

Even EPSON is supported only on some models.
FS ( C <Function 48>

Select character encode system

ASCII   FS (  C  pL pH fn m
Hex     1C 28 43 02 00 30 m
Decimal 28 40 67  2  0 48 m

TM-P20

1, 49  ASCII (ISCII)  ISCII: Indian Script Code for Information Interchange
2, 50  UTF-8          Unicode encoding system

TM-m30II, TM-m30II-H, TM-m30II-NT

1, 49  1-byte character encoding  Non-Unicode encoding method (ASCII [extended], Shift JIS, Big5, GB2312, GB18030, KS C, etc.)
2, 50  UTF-8                      Unicode encoding system

You need to set the printer code page using the following two ESC/POS commands, and the character string to be requested for printing must be encoded and converted according to the code page before sending.

ESC t

Select character code table

ASCII   ESC t   n
Hex     1B  74  n
Decimal 27  116 n

ESC R

Select an international character set

ASCII   ESC R   n
Hex     1B  52  n
Decimal 27  82  n

Alternatively, you can create all the page contents to be printed with a Bitmap image and print it with one of the ESC/POS commands related to image printing.
However, it will be slow.

Related