I\'m using compact framework/C# on windows mobile.
In my application I am uploading data to the server by serializing objects and using a HttpWebRequest/POST request
Use System.Web.HttpUtility.UrlEncode (based on this answer):
System.Web.HttpUtility.UrlEncode
value = HttpUtility.UrlEncode(value) .Replace("!", "%21") .Replace("(", "%28") .Replace(")", "%29") .Replace("*", "%2A") .Replace("%7E", "~"); // undo escape