AnsweredAssumed Answered

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

Question asked by Lito Nicolai 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 "â".

Outcomes