2

I am using a QR barcode containing a long string in "," (comma) units. Celsius (°C) is the problem.

Why is Celsius (℃) printed as ' Ž ' or ' ℃ ' when taking a QR Bacode with a 'Zebra' scanner?

problem is "+100℃"

If UTF-8 is selected, it is deleted. ( +100 )

I don't know what's wrong.

Day 6 I thought it was a simple job, but. It is becoming the main project.

i try is Country Code Pages - UTF-8, Non-CJK UTF-8 Emulation Output

printer - ZD421 scanner - DS4308

string qrcode = "+100℃"; 
string zplCommand = "^XA^MD20^MTT^PW550^LL350^LS10"; 
zplCommand += "^FO100,030^BQN,3,3^FD " + qrcode + "^FS"; 
zplCommand += "^XZ"; 

and print code is (param is zplCommand) 'RawPrinterHelper -> byte[] buffer = Encoding.UTF8.GetBytes(szZplCode);

  • 1
    Sounds like a code-page problem. (see https://www.ascii-code.com/character/%C2%B0 vs https://www.ascii-code.com/character/%C5%BD) – Jeremy Lakeman Jul 03 '23 at 03:44
  • 1
    Unless the QR code contains https://www.compart.com/en/unicode/U+2103 as a utf-8 sequence (0xE2 0x84 0x83)? – Jeremy Lakeman Jul 03 '23 at 03:51
  • I'll edit the question by adding the code as well. – 암소메애 Jul 03 '23 at 04:49
  • 2
    Your edit has left me confused about the nature of your question. Are you generating a QRCode black and white bitmap? Are you accepting input from a QRCode scanner? Because the code you have added is doing neither. Please edit your question to include a complete example of what you are doing, and what is going wrong. – Jeremy Lakeman Jul 03 '23 at 05:10
  • Edited to the question If you scan the QR barcode through the ZPL language on the Zebra DS421 printer and scan the QR barcode through the mobile phone's default camera, ℃ is normally lost. Only Zebra Scanner products don't lose it. – 암소메애 Jul 03 '23 at 05:25
  • 1
    Did you see this? From my experience back in the day with 1 Dimension barcodes these hex escaping codes such as 248 for Celsius symbol were helpful https://stackoverflow.com/a/29761587/495455 – Jeremy Thompson Jul 03 '23 at 05:29
  • @JeremyThompson i've seen that But it didn't work out. – 암소메애 Jul 03 '23 at 05:47
  • https://supportcommunity.zebra.com/s/article/000026056 I've read this too. But it doesn't seem like this is the solution. – 암소메애 Jul 03 '23 at 05:51
  • 2
    Oh that's nasty, its a registry hack with a language pack! Doing troubleshooting in a professional capacity, sometimes there are problems that can't be solved. Or easily solved. For this I'd suggest just print `+35 Celsius`? If the client wants the symbol they will have to pay for the additional R & D as its not available out-of-the-box as per the official documentation. PS always mention your research in SO questions, it shows effort and people don't like being told they suggested something you've already tried. Good luck! – Jeremy Thompson Jul 03 '23 at 06:00
  • my boss said Use "replace" to convert them.' Ž ', 'â,,ƒ' to ℃. I understand, but on the other hand, as a developer, I can see gaps in it, so it bothers me. Thanks for answering my question. – 암소메애 Jul 03 '23 at 06:15
  • 2
    Do you need `"℃" / "\u2103"` or can you manage with `"°C" / "\u00B0C"`? Then normalising the unicode sequence on the receiving end? I think you can escape `'\xB0'` in most code pages, without needing to use the korean language code page. – Jeremy Lakeman Jul 03 '23 at 06:15
  • @JeremyLakeman I read the contents. I will proceed right now. – 암소메애 Jul 03 '23 at 06:18
  • 1
    Your other option is to generate the raw QR code in C# as a bitmap, then use ZPL to print the bitmap (eg https://developer.zebra.com/content/zpl-code-create-gs1-compliant-qr-barcode ?) – Jeremy Lakeman Jul 03 '23 at 06:32
  • Look like you have a typo in your code. Line 3 should be `zplCommand +=..` since you don't use `plCommand`. – MyICQ Jul 03 '23 at 11:45
  • This is a mistake. Edited. ~~~ – 암소메애 Jul 04 '23 at 00:18
  • Thank you all. Fixed the error. There was a problem with the zpl language. https://supportcommunity.zebra.com/s/article/Printing-with-International-Characters?language=en#a2 used ^CI27 – 암소메애 Jul 05 '23 at 04:36
  • @JeremyThompson Easily solve . As you might expect – 암소메애 Jul 05 '23 at 04:38
  • 1
    Add it as an Answer, its OK to answer your own questions, it lets everyone know your question is answered and saves people trawling through the comments. Good luck! – Jeremy Thompson Jul 05 '23 at 04:42

1 Answers1

0

(This is a translated text.) Using the information and expected parts of those who helped with 'comment'. I've tried several things.

https://supportcommunity.zebra.com/s/article/Printing-with-International-Characters?

Use '^CI27' throughout the article, 'escape' processing.

thank you

before "^XA^MD20^MTT^PW550^LL350^LS10";
after "^XA^CI27^MD20^MTT^PW550^LL350^LS10";