AnsweredAssumed Answered

"Update Program" doesn't encode special characters correctly (specifically the em dash – as opposed to the hyphen - )

Question asked by 14e215e679c191d901fd679218430e1a4deb8086 on Aug 23, 2018
Latest reply on Sep 26, 2018 by Sanford Whiteman

Our Ticket:

Repro steps:
1. Have an existing program in Marketo.
2. Update the name to include this dash – via the "Update Program" card.
3. The name in Marketo will now contain – instead of –
4. Creating a program with – via the Marketo UI does not result in the same issue.

This may be affecting more than just the Update Program card. Maybe look into the other Program related actions and make sure they don't do the same thing.


Dev response:

The api expects data to be sent with "Content-Type: application/x-www-form-urlencoded" Header.

So including this header encodes the em dash but not the hyphen.
Without this header the data is not getting updated.
I tried adding "charset:UTF-8" , base64 encoding and percent encoding nothing worked.
It is a limitation on Marketo API


The problem with the API is the data should not be encoded but the header "Content-Type: application/x-www-form-urlencoded" encodes em dash only not the hyphen.

That’s why — changes into –


Solution Path:

We are looking for a way to successfully update program Titles with the provided string, and without encoding changing the input which switches the em-dash "–" to a-acute "â".