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

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 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 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 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