Receipts in Chinese, Thai, Arabic or Cyrillic
Symptom: the receipt on screen is correct, but the paper shows question marks, empty boxes, or the wrong letters entirely.
Why it happens
A thermal printer doesn't use the fonts on your computer. It prints from character tables built into its own firmware — one table active at a time, and most printers leave the factory on a Latin one. Anything the active table has no character for is replaced before it reaches the paper, which is where the question marks come from.
Print the receipt as an image
This is the reliable fix and it works for every language.
Open Settings → Printing, find the printer's row, and turn on Full receipt raster. The receipt is then drawn as a picture and sent to the printer as one, so it prints exactly as it appears on screen — Chinese, Thai, Arabic, Hebrew, Cyrillic, Greek, accented Latin, all of it.
It is slower than printing text, because an image is much larger to send. Turn it on for the printers that need it, not for all of them.
Or set the receipt language in the app
Under the printer's More options (when adding it) or Advanced (when editing it) there is a Receipt language setting. It tells the app which character table to write text with: Western or Central European, Cyrillic, Greek, Turkish, Arabic, Hebrew, Thai or Vietnamese. The printer must hold the same table, which most do. Chinese, Japanese and Korean have no entry yet, so for those scripts use the image method above.
Or change the printer's character table
If you'd rather keep the speed of text printing, set the printer's default character table to one that covers your language, using the manufacturer's setup tool or the printer's web page. Its manual lists the tables it holds. Note that one table rarely covers two scripts, so a receipt mixing languages still needs the image method.
Still stuck?
Use Copy setup report and paste it into your message, with a photo of the printed receipt and the language you're printing.