WebGetPostData converts characters to HTML
Paul Timms
2-2-24
Operating system: macOS
A change has been made to the function WebGetPostData between 8.5 2023-03-16 and 8.5 2024-01-27. In the latter version, it is encoding special characters in HTML, for example a quotation mark becomes ". Is this change by design or is it a bug? If it's by design, this is a major change that we need to consider when upgrading customer systems.

Note that WebGetRawPostData does not do any conversion of characters, so a workaround/fix is to change HAL code to use this instead.
2-22-24
Hi, have same problem. I have a temporary solution with HAL. But think is better to fix this in core.

procedure ReplaceWebStrings(var string tstr,var longint movcnt)
begin
integer i,l;

l = len(tstr);
movcnt = 0;
for (i = 0; i < l;i = i + 1) begin
movcnt = movcnt + 1;
if mid(tstr,i,4)=="<" then begin
tstr = left(tstr,i) & "<" & right(tstr,l-i-4);
l = l - 3;
movcnt = movcnt + 3;
end;
if mid(tstr,i,4)==">" then begin
tstr = left(tstr,i) & ">" & right(tstr,l-i-4);
l = l - 3;
movcnt = movcnt + 3;
end;
if mid(tstr,i,6)=="'" then begin
tstr = left(tstr,i) & "'" & right(tstr,l-i-6);
l = l - 5;
movcnt = movcnt + 5;
end;
if mid(tstr,i,6)==""" then begin
tstr = left(tstr,i) & "\"" & right(tstr,l-i-6);
l = l - 5;
movcnt = movcnt + 5;
end;
if movcnt>220 then begin
tstr = left(tstr,len(tstr)-(255-movcnt));
i = l;
end;
end;

return;
end;

global
procedure FixAreaWebStrings(var area FileArea)
begin
area newArea;
string 255 tstr;
longint asize,pos,movcnt;

SetAreaZeroSize(newArea);
asize = GetAreaLength(FileArea);

pos = 0;
while pos < asize begin
tstr = GetStringFromArea(FileArea,pos,255);
ReplaceWebStrings(tstr,movcnt);
pos = pos + movcnt;
if movcnt==0 then begin
pos = pos + 1;
end;
AddTextToArea(tstr,newArea);
end;
SetAreaZeroSize(FileArea);
InsertAreaBeforeArea(newArea,FileArea);
return;
end;

global webpublic procedure WebGetJSON()
begin
area reqst;
json jobj;

webgetpostdata(reqst);
FixAreaWebStrings(reqst);
jobj = parsejsonarea(reqst);

return;
end;
4-9-24
Hi Paul!

Thanks for your message! I'll forward this to our development for further investigation.

We will keep you posted in progress.
Leave Comment
You can subscribe to notifications for this post by selecting the 'star' icon on the top right corner of the post.
Back to the list
Latest Posts
Gatis Jansons
Hi, Piotr. There is a setting in general about refreshing: TC &gt;&gt; Timed Operations &gt;&gt; Seconds Between Browse Updates But it does not cover Task Manager. However there is an appr...
14:46 14 May 2024
Aldevinas Katkus
Actually a new version of this bug is SL&gt;&gt;Reports&gt;&gt;Periodic customer statement &quot;accumulates&quot; amounts Not sure why it was duplicated, I clicked &quot;submit&quot;only once....
08:09 10 May 2024