Estou fazendo uma integração por API, ao fazer o get pelo Insomnia, tenho o resultado abaixo:
No Protheus fica desta forma:
Como posso corrigir isso?
Estou fazendo uma integração por API, ao fazer o get pelo Insomnia, tenho o resultado abaixo:
No Protheus fica desta forma:
Como posso corrigir isso?
Olá,
Normalmente as APIs respondem em UTF-8, porém o Protheus trabalho por padrão no encode cp1252 (win-1252).
Para converter entre os encodes, você precisa utilizar as funções EncodeUTF8
e DecodeUTF8
.
Por exemplo, você vai enviar um dado via REST, é comum efetuar o EncodeUTF8 antes de enviar, porém ao consumir um API, é provável que essa API tenha respondido em UTF-8, logo será necessário chamar a função DecodeUTF8.
Documentações:
https://tdn.totvs.com/display/tec/EncodeUTF8
https://tdn.totvs.com/display/tec/DecodeUTF8
https://tdn.totvs.com/display/framework/Entendendo+as+novidades+do+REST?searchId=HPTGYWG1F
Apenas com DecodeUTF8() não funcionou, continuava com characteres estranhos, tive que fazer da seguinte forma: NoAcento(DecodeUTF8(jResponse[nI]['obs_observacao'])), obrigado pela ajuda!
— Leandro.Santos 29 de Sep de 2023