Thanks for the code.
The pound symbol is indeed the entry U+00A3 in the Unicode table, but it's always encoded as 0xc2 0xa3 in UTF-8. See this page. In UTF-8, anything above U+007F will be encoded with 2 bytes.
When you see \xc2 inside CSP gateway logs, you have now clue if it was originally 0xc2 or if it was already \xc2 (0x5c 0x78 0x63 0x32 in hexa) because there is no escaping made. Apache will instead double the backslash (\\xc2) so you know it was originally \xc2 and not 0xc2.
I would like to get back to record the HTTPS requests sent to a server in their RAW format (which is exactly what "V9r" is doing. There is probably other ways (eg: using packet dumper or apache module) but this is the only working one I have found so far. The other methods have also their own disadvantages and quirks.
Thanks. I tried it and it works great most the time. However, I got a few cases where the IsUpToDate() returns 0 while the class does not show any "+" sign in Studio. I tried different values for "type" parameter but it does not help.
ERROR: ^oddCOM(cls,timechanged) does not exist
I checked and indeed there is no TimeChanged or TimeCreated in the class compiled global. Seems Studio is happy with that.