I’m having trouble getting my app to POST status updates to Twitter through the API. We authenticate and POST fine in most circumstances, except when the message content contains BOTH a character with char code 128 or higher AND a one of these characters :!()*
In the failure case, twitter response with “Unauthorized”.
Examples work:
Hello world 
Hello world :
Example doesn’t work:
Hello world: 
I’m confident that our percent encoding is correct because it works without the colon and our encoding matches the examples given in Twitters documentation (at https://dev.twitter.com/oauth/overview/percent-encoding-parameters)
Are !()*: reserved characters for the twitter API? Any suggestions would be helpful.