Java 使用OutputStreamWriter&;希腊文印刷字符集

Java 使用OutputStreamWriter&;希腊文印刷字符集,java,android,sockets,printing,Java,Android,Sockets,Printing,让我们先解释一下我的问题。我在这里发布了另一个类似的问题:但不知何故,我没有设法克服这个问题 我想从android打印到网络打印机(施乐WC 24 PCL或爱普生XP-600)。 比如说: Socket client = new Socket(_IP, PORT); // IP, port 我有以下案文: String[] str = { "-------------------------------------------------\r\n",

让我们先解释一下我的问题。我在这里发布了另一个类似的问题:但不知何故,我没有设法克服这个问题

我想从android打印到网络打印机(施乐WC 24 PCL或爱普生XP-600)。
比如说:

Socket client = new Socket(_IP, PORT);     // IP, port
我有以下案文:

String[] str =  {   "-------------------------------------------------\r\n",
                " ΠΕΛΑΤΗΣ   : Γεια σου Πελάτη\r\n",
                " ΚΩΔΙΚΟΣ   : 00000234242\r\n",
                " ΔΙΕΥΘΗΝΣΗ     : Περικλέους 77\r\n",
                " ΤΗΛ.      : 2310-892345\r\n",
                             "-------------------------------------------------\r\n"
            };
然后我用“ISO-8859-7”、“Windows-1253”(希腊字符)调用以下代码:

OutputStreamWriter oStream = new OutputStreamWriter(os, Charset.forName(enc).newEncoder());

    for(int i =0; i< str.length; i++) {

        oStream.write(str[i]);



        oStream.flush();
    }

           oStream.close();
以下是扩展ASCII字符: 有人能告诉我如何告诉打印机打印正确的字符格式吗?希腊字母为“ISO-8859-7”、“Windows-1253”、“Cp1253”。 阿拉伯语字符的解决方案在这里,但至少对我来说不起作用:

此外,PLC ISO 8859 7没有成功。我发送字符串,如:

"\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c3\u03c2\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9\r\n",
“\033(12N\r\n”, “a bácäåæèèèèèèèèèèèèèèèèèèèòòè232


我运气不好

对于PCL打印机,您可以发送一个PCL命令来更改符号集。如果我读取并正确,并且相关打印机支持它,您可以使其使用ISO-8859-7符号集,如下所示:

oStream.write("\033(12N");

我的问题的答案很简单。我必须为特定的打印机编写一个打印机驱动程序,以便打印unicode、希腊文、日文或任何字符。只有使用socket才没有这种方法,至少在我的“unicode”情况下是这样。

如果您在控制台中看到预期的输出,但在打印机上看不到,我的第一个想法是t您需要检查打印机文档以设置编码或使用不同的驱动程序吗?我想您看到的是用普通ASCII字符集解释的
ISO-8859-7
字符……您在第一行看到这个符号了吗?
将数据发送到打印机,我希望打印机能够识别这些数据。我必须遵守打印机协议,使用希腊字母no success。我已阅读PCL ISO 8859_7。我还向打印机发送了:
oStream.write("\033(12N");