In C# I use AnyAscii library. It is very easy to use and it works very well.
using AnyAscii; string Text = "Dimàkàtso Mokgàlo"; string LatinEquivalent = Transliteration.Transliterate(Text);
And the result is:
"Dimakatso Mokgalo"