Xin chào các bạn bài viết hôm nay mình sẻ tiếp tục hướng dẫn các bạn cách fix lỗi không hiển thị UTF-8 khi sử dụng WebClient để lấy dữ liệu từ Website trên C#, Winform.

[CSHARP] Hướng dẫn fix lỗi hiển thị UTF-8 khi sử dụng WebClient Download String


Thường khi các bạn, lấy dữ liệu html từ website bằng Webclient các bạn thường hay viết nhanh như bên dưới.
using (WebClient client = new WebClient())
{
    client.Encoding = Encoding.UTF8;
    string htmlCode = client.DownloadString("http://hung.pro.vn");
}

khi các bạn đi Request như vậy, nội dung trả về sẽ thường có các ký tự đặc biệt: (ę, ś, ć, …)

Nó không hiển thị đúng định dạng Tiếng Việt UTF-8 mà chúng ta mong muốn.

Các bạn, sửa đoạn code trên thành như sau:
using (WebClient client = new WebClient())
{
     var htmlData = client.DownloadData("https://hung.pro.vn");
     var htmlCode = Encoding.UTF8.GetString(htmlData);
}

Với cách viết ở đoạn 2, sẽ hiển thị được dữ liệu UTF-8.