The issue is simply one of text encoding, just as it would be if you were reading the same data from a local file. If you assign an appropriate Encoding object to the Encoding property of the WebClient then it will encode the binary data that it downloaded correctly when converting it to text. You will have to use the same encoding that the server used to in the first place. If you don't know what that is then you will have to experiment a bit.