The problem is that I receive a large response via a HttpWebResponse API request. From this response I extract and transfer this info to separate strings. This works fine as long as there are no accented characters or other non-alphabetical stuff. When I create a string with "é" for example, it is shown as U+00E9 instead of é.

I've searched the Internet for this for days now but I haven't found a simple solution yet. I've read [this](https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/) and I understand a bit what the UTF-8 format means, but I haven't got any clue about what should I do to display special characters in a String.

This is the code I use to grab the WebResponse:

```
 Public Function ExecuteApiRequest(url As String) As String
    Dim requestResult As String = ""
    global_oauth_timestamp = setTimeStamp()
    global_oauth_nonce = setNounce()

    Dim headerFormat As String = "OAuth oauth_consumer_key=""{0}"",oauth_nonce=""{1}"",oauth_token=""{2}"",oauth_signature=""{3}"",oauth_signature_method=""{4}"",oauth_timestamp=""{5}"""
    Dim authHeader As String = String.Format(headerFormat, Uri.EscapeDataString(global_oauth_consumer_key), Uri.EscapeDataString(global_oauth_nonce), Uri.EscapeDataString(global_oauth_token), Uri.EscapeDataString(global_oauth_signature), Uri.EscapeDataString(global_oauth_signature_method), Uri.EscapeDataString(global_oauth_timestamp))

    ServicePointManager.Expect100Continue = False
    Dim request As HttpWebRequest
    Dim response As HttpWebResponse

    Dim streamReader As System.IO.StreamReader  'ghfh,hrgnfgd
    Dim encode As Encoding = System.Text.Encoding.GetEncoding("utf-8")
    request = WebRequest.Create(url)
    request.UserAgent = global_user_agent
    request.Method = "GET"
    request.Timeout = -1
    request.Headers.Add("Authorization", authHeader)

    Try
        response = DirectCast(request.GetResponse, HttpWebResponse)
        streamReader = New System.IO.StreamReader(response.GetResponseStream(), encode)
        requestResult = streamReader.ReadLine
        request.Abort()
        streamReader.Close()
        streamReader = Nothing
        response.Close()
        response = Nothing
    Catch ex As Exception
        MsgBox(ex.Message, MsgBoxStyle.Critical)
    End Try

    If requestResult.Contains("You are making requests too quickly.") Then
        MsgBox("TOO MANY REQUESTS")
    End If

    Return requestResult
End Function

```

As you can see the result is returned as a String, perhaps the problem starts there?