1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Caracter do Euro

Discussão em 'Progress 4GL' iniciado por thiagoapr, Setembro 11, 2021.

  1. thiagoapr

    thiagoapr Sem Pontuação

    Estou montando uma rotina pra importar arquivos .txt e alguns deles possuem o caracter da moeda euro "€" no nome. Não estou conseguindo uma forma de fazer o progress reconhecer esse caracter.

    Quero utilizar no INPUT FROM VALUE(c-arquivo)

    Alguém sabe alguma forma de eu fazer isso?
  2. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Só usando a tabela ASCII pra fazer isso
  3. thiagoapr

    thiagoapr Sem Pontuação

    Já tentei e tb não vai, não mostra nem no message esse caracter.

    MESSAGE CHR(128)
    VIEW-AS ALERT-BOX INFO BUTTONS OK.
  4. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Como você sabe que o código é 128?

    Seria bom colocar o caracter do euro num documento do Notepad++, e depois salvar com o charset IBM850 (se é que foi esse que vc definiu na instalação)
    depois ler esse arquivo exibindo o charset de cada caracter de cada linha lida usando a função ASC
  5. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Segundo teste que fiz, esse caracteres corresponde a 3 códigos juntos: 212, 233 e 188

    upload_2021-9-13_14-55-20.png

    Código:
    DEF VAR caracter AS LONGCHAR.
    DEF VAR test AS CHAR.
    DEF VAR xi AS INTEGER.
    
    COPY-LOB FROM FILE "C:\temp\ibm850.txt" TO caracter.
    
    DO xi = 1 TO LENGTH(STRING(caracter)).
        test = STRING(caracter).
        test = SUBSTRING(test,xi,1).
        MESSAGE ASC(test)
            VIEW-AS ALERT-BOX INFO BUTTONS OK.
    END.
    
  6. thiagoapr

    thiagoapr Sem Pontuação

    Eu consegui resolver depois de ler esse artigo:

    https://knowledgebase.progress.com/articles/Knowledge/P77617

    Alterei o parâmetro -cpstream de ibm850 para 1252 e inclui o parâmetro -cpinternal com 1252.

    Ao abrir a sessão assim ele reconhece normalmente o caracter.

Compartilhe esta Página