I am reading data from a https socket response into a memptr and would like to copy the data from the memptr to a longchar. However I keep getting the error
Invalid Character data found in MEMPTR for codepage ISO8859-1
The code to read the response looks as follows
PROCEDURE getResponse:
DEFINE VARIABLE vcWebResp AS LONGCHAR NO-UNDO.
DEFINE VARIABLE viBytesAvail AS INTEGER NO-UNDO.
DEFINE VARIABLE mResponse AS MEMPTR NO-UNDO.
ASSIGN viBytesAvail = vhSocket:GET-BYTES-AVAILABLE().
IF viBytesAvail = 0 THEN RETURN.
SET-SIZE(mResponse) = 0.
SET-SIZE(mResponse) = viBytesAvail.
vhSocket:READ(mResponse,1,viBytesAvail,READ-EXACT-NUM).
COPY-LOB FROM OBJECT mResponse TO vcWebResp.
ASSIGN vcFinalResp = vcFinalResp + vcWebResp.
SET-SIZE(mResponse) = 0.
END PROCEDURE.
I have tried to replace the line
COPY-LOB FROM OBJECT mResponse TO vcWebResp.
with
COPY-LOB FROM OBJECT mResponse TO vcWebResp CONVERT SOURCE CODEPAGE "iso8859-1" TARGET CODEPAGE "UTF-8".
but that did not help.
Any ideas what I can do to successfully complete the copy?
Invalid Character data found in MEMPTR for codepage ISO8859-1
The code to read the response looks as follows
PROCEDURE getResponse:
DEFINE VARIABLE vcWebResp AS LONGCHAR NO-UNDO.
DEFINE VARIABLE viBytesAvail AS INTEGER NO-UNDO.
DEFINE VARIABLE mResponse AS MEMPTR NO-UNDO.
ASSIGN viBytesAvail = vhSocket:GET-BYTES-AVAILABLE().
IF viBytesAvail = 0 THEN RETURN.
SET-SIZE(mResponse) = 0.
SET-SIZE(mResponse) = viBytesAvail.
vhSocket:READ(mResponse,1,viBytesAvail,READ-EXACT-NUM).
COPY-LOB FROM OBJECT mResponse TO vcWebResp.
ASSIGN vcFinalResp = vcFinalResp + vcWebResp.
SET-SIZE(mResponse) = 0.
END PROCEDURE.
I have tried to replace the line
COPY-LOB FROM OBJECT mResponse TO vcWebResp.
with
COPY-LOB FROM OBJECT mResponse TO vcWebResp CONVERT SOURCE CODEPAGE "iso8859-1" TARGET CODEPAGE "UTF-8".
but that did not help.
Any ideas what I can do to successfully complete the copy?