Đoạn mã sau:
var text = (new WebClient()).DownloadString("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20"));
kết quả là một biến text
chứa, trong số nhiều thứ khác, chuỗi
"$ κ $ -Minkowski không gian, trường vô hướng và vấn đề bất biến Lorentz"
Tuy nhiên, khi tôi truy cập URL đó trong Firefox, tôi nhận được
$ κ $ -Minkowski không gian, trường vô hướng và vấn đề bất biến Lorentz
mà thực sự là chính xác. Tôi cũng đã thử
var data = (new WebClient()).DownloadData("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20");
var text = System.Text.UTF8Encoding.Default.GetString(data);
nhưng điều này đã đưa ra cùng một vấn đề.
Tôi không chắc lỗi nằm ở đâu ở đây. Nguồn cấp dữ liệu có đang nói dối về việc được mã hóa UTF8 và trình duyệt đủ thông minh để tìm ra điều đó, nhưng không WebClient
? Nguồn cấp dữ liệu có được mã hóa UTF8 đúng cách không nhưng lại WebClient
bị lỗi theo một số cách khác? Tôi có thể làm gì để giảm thiểu điều này?
UTF8Encoding.Default
thực tếEncoding.Default
là mã hóa ANSI dựa trên cài đặt ngôn ngữ hệ điều hành.