I ran into a similar issue with special characters in names.
I use the CallAPI to kick off the notification for our Password resets. In the script we pass in the First Name, Last Name, email to the Notification job.
I found that if the requestor had a special character in their name, like René, the AE would interpret it as René.
Since we were using the HTML email notification, we had to pass it as the HTML code for the email to correctly display it.
The HTML code for é is é . So even adding a 2nd && so the PromptSet passed it as a literal &, the tasks within the workflow tried to evaluate it.
To get around this, before executing the CallAPI, we replaced the & with a random pattern in this case '0a0' and then in a Script object as the first task, I replaced the '0a0' with '&&' which then the jobs further down interpreted as a literal &.
:pset &fname#=str_sub(&fname#,"0a0","&&")
: p &fname#
https://us.v-cdn.net/5019921/uploads/editor/yu/ovkvwfl2xjcm.png" width="761">