Problema de impressão com a impressora bematech MP 4200 TH

oi, tudo bem?

bom, sou novo aqui e gostaria de pedir a ajuda de vcs para resolver um problema que estou tendo ao tentar imprimir com a impressora MP-4200 TH, quando tento imprimir algum caractere com acento como ç ou ã por exemplo, ela esta imprimindo o caractere referente antecedido por um ‘T’ minusculo antes do caractere ficando Tç por exemplo, estou usando o código retirado de outro tópico do fórum que discutia sobre impressão e formatação de texto nessa mesma impressora, eu cheguei a perguntar la, mas como a ultima postagem nele antes da minha foi em maio e ele ta marcado como resolvido achei melhor abrir outro tópico para pedir a ajuda de vcs.

estou mandando o caractere para ela da seguinte maneira: “”+(char)135

ela está com a configuração default dela (tabela de códigos 850)

o tópico mencionado anteriormente é este:

gostaria de aproveitar também para agradecer o Marcos Roberto da Fonseca que criou o tópico acima, o código dele ajudou muito.

aguardo pela ajuda de vcs, muito obrigado.

Também estou com o mesmo problema. Verifiquei que no documento de configuração existem várias opções, tentei varias, mas, ainda não consegui. Se teve sucesso, posta ai a solução. Valeu.

Segue a baixo a lista com as possíveis configurações:

[Function] Codepage selection.
[Format] ASCII ESC t n
Hexadecimal 1B 74 n
Decimal 27 116 n
[Range] 2 ≤ n ≤ 12; n = 14; n = 21
[Default] n = 2
[Description] This command selects the code page to be used, according to the following options.
If n is 2 (02h or 32h), CODEPAGE 850 is selected.
If n is 3 (03h or 33h), CODEPAGE 437 is selected.
If n is 4 (04h or 34h), CODEPAGE 860 is selected.
If n is 5 (05h or 35h), CODEPAGE 858 is selected.
If n is 6 (06h or 36h), CODEPAGE 866 is selected.
If n is 7 (07h or 37h), CODEPAGE 864 is selected.
If n is 8 (08h or 38h), UTF8 (Unicode) is selected.
If n is 9 (09h or 39h), Big-5E is selected.
If n is 10 (0Ah or 3Ah), JIS is selected.
If n is 11 (0Bh or 3Bh), SHIFT JIS is selected.
If n is 12 (0Ch or 3Ch), GB2312 is selected.

Um exemplo da implementação ficaria assim:
public String getTabelaCaracteres() {
return “” + (char) 27 + (char) 116 + (char) 2;
}

Como vocês estão enviando a impressão?

oi, em 1º lugar quero pedir desculpas por não ter atualizado o tópico, acabei esquecendo, foi mal :S
bem, eu consegui resolver o problema, o código

return "" + (char) 27 + (char) 116 + (char) 2;

ta certo fabiofb7, vai la em propriedades do projeto agora e muda o charset que ele usa, para iso-8859-1, fiz isso no meu e funcionou normalmente a impressão, vc tambem precisará trocar os caracteres especiais do texto por seus respectivos códigos ascii antes de mandar o texto para a impressão, to postando junto dessa resposta a interface que criei com os códigos, pode usar a vontade.

package util.interfaces;
public interface CaracteresEspeciaisAscII {
    public static final char C_CEDILHA_UPPER_CASE = 128;
    public static final char U_TREMA_LOWER_CASE = 129;
    public static final char E_AGUDO_LOWER_CASE = 130;
    public static final char A_CIRCUNFLEXISO_LOWER_CASE = 131;
    public static final char A_TREMA_LOWER_CASE = 132;
    public static final char A_GRAVE_LOWER_CASE = 133;
    public static final char C_CEDILHA_LOWER_CASE = 135;
    public static final char E_CIRCUNFLEXO_LOWER_CASE = 136;
    public static final char E_TREMA_LOWER_CASE = 137;
    public static final char E_GRAVE_LOWER_CASE = 138;
    public static final char I_TREMA_LOWER_CASE = 139;
    public static final char I_CIRCUNFLEXO_LOWER_CASE = 140;
    public static final char I_GRAVE_LOWER_CASE = 141;
    public static final char A_TREMA_UPPER_CASE = 142;
    public static final char E_AGUDO_UPPER_CASE = 144;
    public static final char O_CIRCUNFLEXO_LOWER_CASE = 147;
    public static final char O_TREMA_LOWER_CASE = 148;
    public static final char O_GRAVE_LOWER_CASE = 149;
    public static final char U_CIRCUNFLEXO_LOWER_CASE = 150;
    public static final char U_GRAVE_LOWER_CASE = 151;
    public static final char O_TREMA_UPPER_CASE = 153;
    public static final char U_TREMA_UPPER_CASE = 154;
    public static final char A_AGUDO_LOWER_CASE = 160;
    public static final char O_AGUDO_LOWER_CASE = 162;
    public static final char U_AGUDO_LOWER_CASE = 163;
    public static final char N_TILDE_LOWER_CASE = 164;
    public static final char N_TILDE_UPPER_CASE = 165;
    public static final char ORDF = 166;
    public static final char DEG = 167;
    public static final char A_AGUDO_UPPER_CASE = 181;
    public static final char A_CIRCUNFLEXO_UPPER_CASE = 182;
    public static final char A_GRAVE_UPPER_CASE = 183;
    public static final char A_TILDE_LOWER_CASE = 198;
    public static final char A_TILDE_UPPER_CASE = 199;
    public static final char E_CIRCUNFLEXO_UPPER_CASE = 210;
    public static final char E_TREMA_UPPER_CASE = 211;
    public static final char E_GRAVE_UPPER_CASE = 212;
    public static final char I_AGUDO_UPPER_CASE = 214;
    public static final char I_CIRCUNFLEXO_UPPER_CASE = 215;
    public static final char I_TREMA_UPPER_CASE = 216;
    public static final char I_GRAVE_UPPER_CASE = 222;
    public static final char O_AGUDO_UPPER_CASE = 224;
    public static final char O_CIRCUNFLEXO_UPPER_CASE = 226;
    public static final char O_GRAVE_UPPER_CASE = 227;
    public static final char O_TILDE_LOWER_CASE = 228;
    public static final char O_TILDE_UPPER_CASE = 229;
    public static final char U_AGUDO_UPPER_CASE = 233;
    public static final char U_CIRCUNFLEXO_UPPER_CASE = 234;
    public static final char U_GRAVE_UPPER_CASE = 235;

}

Bom, o projeto já estava configurado (iso-8859-1), o problema com os caracteres especiais ainda não testei, agora o problema maior é a fonte que não consigo configurar para o padrão da impressora. A fonte que esta sendo impressa ocupa muito espaço, assim, estou tentando usar o padrão da impressora que me atenderia perfeitamente. Obrigado.

Oi rck13.

Tentei enviar alguns comandos para impressora com os códigos que você postou. Bom, uma das tentativas foi enviar o comando “C_CEDILHA_UPPER_CASE = 128” porém, o que acontece é que o “Ç” é impresso logo no inicio da folha, mas, os caracteres que tem “ç” que enviei para impressão não são trocados e continuam sendo impressos errados. Poderia me dar uma dica de como enviou estes comandos para impressora. Obrigado.