Ir para o conteúdo

 Voltar a PW3270 Suporte
Tela cheia

Caracteres estranhos

18 de Janeiro de 2010, 10:27 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 219 vezes

Bom dia,

 

Estou tendo um problema com caracteres em nossos programas. Por exemplo, tenho um menu da seguinte forma:

[1] - Solicitações

[2] - Controle de Atividades

[3] - Transferência de objetos

[4] - Listagem...

 que está aparecendo da seguinte forma:

Ý1" - Solicitações

Ý2" - Controle de Atividades

Ý3" - Transferência de objetos

Ý4" - Listagem...

 Alguma idéia?

 Grato,

 


Autor: Daniel Carvalho


1010 comentários

  • 3f09f0772d9354bc3661d73bf02b0f60?only path=false&size=50&d=404Perry Werneck(usuário não autenticado)
    18 de Janeiro de 2010, 12:56

     

    Olá,

    Conversão de caracteres errada. Se me permite algumas perguntas....

    Windows ou Linux?
    São só esses caracteres que ficam trocados ou algum outro caractere acentuado também fica estranho?
    Os caracteres que aparecem na tela correta são "[" e "]" mesmo ou algum outro símbolo, por exemplo, "«" e "»"?

    Você teria como me enviar um arquivo com a cópia da memória do terminal; de preferência junto com um screenshot de outro emulador que mostra a tela correta? (Vai ser preciso instalar um arquivo .xml no diretório UI).

    • 6d09c38a87b5af7aa9a9709411f8da2c?only path=false&size=50&d=404Daniel Carvalho(usuário não autenticado)
      18 de Janeiro de 2010, 15:46

       

      Bom.. o sistema que estamos usando é Linux (Debian Lenny), e até agora só encontramos esses caracteres destoando com o designado.

      Como é de costume, o pessoal do Mainframe não utiliza acentos, a fim de evitar problemas de mapeamento de caracteres, então não possuímos problemas com caracteres acentuados. Outros símbolos, como "«" e "»" também não são utilizados.

      Caso eu tente utilizar "[" e "]" dentro do pw3270, esses caracteres aparecem corretamente, pelo menos no pw3270.

      No emulador "Extra!", utilizado até então como padrão, os caracteres aparecem corretamente.

      Não sei como fazer o arquivo com a cópia da memória do terminal, caso seja realmente necessário será necessário me explicar como criar tal arquivo, e sim, posso te mandar um screenshot do Extra! caso seja necessário, mas ele apresenta os caracteres corretamente, até porque os sistemas foram desenvolvidos nele.

       

      grato,

      • 3f09f0772d9354bc3661d73bf02b0f60?only path=false&size=50&d=404Perry Werneck(usuário não autenticado)
        19 de Janeiro de 2010, 8:32

         

        Olá,

        Para gerar o dump do terminal você só precisa ativar o menu de debug; em linux isso pode ser feito de duas formas:

        Se você está compilando manualmente basta executar o comando "make run" no diretório onde estão os fontes que o pw3270 vai subir em modo de debug com o menu correspondente aparecendo.
        Se você instalou pelo .deb o mais fácil é instalar o arquivo debug.xml para o diretório de ui do programa ( /usr/share/pw3270/ui ) e rodar o programa.

        Com o menu de debug ativo você só precisa ir até a tela com problema e usar a opção "debug->salvar captura de tela" para gravar um arquivo com o conteúdo do buffer. Depois, se puder, me envie esse arquivo (perry.werneck@gmail.com) para tentar identificar o problema.

        • 6d09c38a87b5af7aa9a9709411f8da2c?only path=false&size=50&d=404Daniel Carvalho(usuário não autenticado)
          18 de Fevereiro de 2010, 11:31

           

          Olá, estive ocupado com outras tarefas e só agora voltei a tratar esse problema.

           Fiz mais alguns testes, inclusive com x3270 que apresenta o mesmo problema, e percebi que se trata de um problema de charset.

          Ao que parece por default é utilizado o charset "bracket" que é um "us-intl" modificado. Quando eu seto o charset "us-intl" no x3270 (#x3270 -charset us-intl), a configuração de caracteres fica correta.

          A pergunta agora é a seguinte... como configuro charset no pw3270?

          • 3f09f0772d9354bc3661d73bf02b0f60?only path=false&size=50&d=404Perry Werneck(usuário não autenticado)
            18 de Fevereiro de 2010, 12:56

             

            Olá,

            Tentou com o mesmo parâmetro? Eu fiz um teste rápido aqui e, aparentemente, o parâmetro foi aceito e passado para a lib3270 (que é baseada no código original do x3270), porém, não notei grande diferença nas telas então não sei se resolve.

            • 6d09c38a87b5af7aa9a9709411f8da2c?only path=false&size=50&d=404Daniel Carvalho(usuário não autenticado)
              18 de Fevereiro de 2010, 15:05

               

              Olá, 

               Realmente não se nota grande diferênça, afinal  o "bracket" (que é default) é uma variavel do "us-intl" só que com codificações diferêntes para "[" e "]".

              Todavia, ao digitar o comando:

              $pw3270 -charset us-intl

              obtenho:

              Error parsing option -h
              Execute "pw3270 --help" para ver a lista completa de opções de linha de comando disponíveis.

              • 3f09f0772d9354bc3661d73bf02b0f60?only path=false&size=50&d=404Perry Werneck(usuário não autenticado)
                18 de Fevereiro de 2010, 16:38

                 

                Olá,

                a sintaxe está errada, tente:

                pw3270 --charset=us-intl

                • 6d09c38a87b5af7aa9a9709411f8da2c?only path=false&size=50&d=404Daniel Carvalho(usuário não autenticado)
                  18 de Fevereiro de 2010, 17:48

                   

                  ok! funcionou... é que no x3270 é só -charset e não --charset

                   obrigado

                  • 3f09f0772d9354bc3661d73bf02b0f60?only path=false&size=50&d=404Perry Werneck(usuário não autenticado)
                    19 de Fevereiro de 2010, 8:11

                     

                    Olá,

                    É que, no pw3270, o tratamento de argumentos é feito por funções do gnome/gtk que usam o formato --opcao==

                    Para ver todas as opções você pode usar pw3270 --help-all

                    • Dbf7566bb4610eb924398e1a9e9b18f2?only path=false&size=50&d=404Renato H. de Oliveira(usuário não autenticado)
                      5 de Novembro de 2013, 8:48

                       

                      Olá Werneck, gostaria de tua ajuda, estou usando a versão 5 do PW3270 em windows 7 e, qdo abro um determinado texto, no lugar dos caracteres "[" e "]" aparece o caractere "Ý", para os dois casos. Usamos também o emulador PCOM, abrindo o mesmo texto com PCOM isto não acontece. O que devo alterar no PW3270? Como acionar/usar o help em Windows 7? Tentei a opção --charset e recebo a tela anexa como erro. Configurei assim na tela de propriedades do ícone "C:\Program Files\pw3270-7\pw3270.exe" --host=testemfr:23 --charset=us-intl.

                      Obrigado,

                      Renato

Essa comunidade não possui posts nesse blog