Hi I'm getting an exception when trying to use the torecord() fun

Hi

I'm getting an exception when trying to use the torecord() function on extended characters. For example, if I have the rule...
=torecord("<tag>eg</tag>", "")
...then the text "eg" is returned in the test rules interface. However, if there is an extended character, e.g...
=torecord("<tag>ég</tag>", "")
...then I get an error message "The rule contains an expression that cannot be tested". On checking the application server log the message is "MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence".
Are we missing some setup configuration? We are using Appian 7.4 with IIS and JBOSS.

Thanks,
Norman.
...

OriginalPostID-124059

OriginalPostID-124059

  Discussion posts and replies are publicly visible

Parents
  • I was able to reproduce the error in 7.4. However, when testing in 7.5 and 7.6, this function with the special character gives the result as ?g, rather than erroring out. This is a bit more graceful, so we know the behavior has been updated in later versions of Appian.

    The root issue seems to be that the document isn't encoded in UTF-8, even though it is being read as if it were. There might be a limitation on this working by itself (as you are testing in the expressions editor), but we have seen cases where this works properly with special characters when populating a CDT in a full XML document, and stripping out the headers as I mentioned above.
Reply
  • I was able to reproduce the error in 7.4. However, when testing in 7.5 and 7.6, this function with the special character gives the result as ?g, rather than erroring out. This is a bit more graceful, so we know the behavior has been updated in later versions of Appian.

    The root issue seems to be that the document isn't encoded in UTF-8, even though it is being read as if it were. There might be a limitation on this working by itself (as you are testing in the expressions editor), but we have seen cases where this works properly with special characters when populating a CDT in a full XML document, and stripping out the headers as I mentioned above.
Children
No Data