Справочная информация: Я занимаюсь разработкой программного обеспечения для POS на C #, которое требует печати традиционных китайских символов на чеке.
Аппаратное обеспечение : EPSON TM-T20 обменивается данными через USB-соединение
Код:
string text = "鄆";
StringBuilder builder = new StringBuilder();
// Traditional Chinese (big5)
var encoding = Encoding.GetEncoding(950);
// convert the text into a byte array
byte[] source = Encoding.Unicode.GetBytes(text);
// convert that byte array to the new codepage.
byte[] converted = Encoding.Convert(Encoding.Unicode, encoding, source);
// take multi-byte characters and encode them as separate ascii characters
string result = Encoding.GetEncoding("ISO-8859-1").GetString(converted);
// Print
m_Printer.PrintNormal(PrinterStation.Receipt, "\u001b|N" + result + "\n");
Это код, предоставленный jkealey и доступный по адресу http://blog.lavablast.com/post/2010/01/15/Simplified-Chinese-on-Epson-TM-T88IV-Receipt-Printer.aspx
Проблема: Прежде чем использовать код, предоставленный jkealey, принтер печатает "?" вместо китайских иероглифов, но теперь он печатает «ÜP».
В утилите Epson TM-T20 версии 1.00 у меня есть следующие настройки шрифта для кодовой страницы и международного набора символов. (Я не могу опубликовать изображение, так как я новый пользователь)
Кодовая страница: PC850 (многоязычная)
международный набор символов: Китай
Я не уверен, где я ошибся, может кто-нибудь помочь мне решить эту проблему, пожалуйста.
Большое спасибо заранее!
Ringo