"I want to encode 100 % without missing any characters like this."
No need to do this if you are using the correct format. In fact, you also don't need to encode en dash or any other non-ascii characters. But if for some reason you really ought to use this feature, you can write:
Dim enDash = "–"
myString.Replace(HttpUtility.HtmlDecode(enDash), enDash)