Vấn đề của tôi là:Cách tạo đầu ra Stream.Write() theo định dạng UTF-8
Tôi đang tạo và tải lên tệp SQL bằng ASP.NET, nhưng sau khi tệp được lưu vào máy chủ FTP, các ký tự như ü được đổi thành &uul;, ø thành & oslash; và vân vân ... Làm sao tôi có thể ngăn điều này xảy ra? Tôi không muốn tệp được định dạng bằng mã ASCII, nhưng với UTF-8.
Các mã để tạo và tải lên các tập tin trông như thế này:
//request = the object to be made an request out of.
Stream requestStream = request.GetReguestStream();
var encoding = new UTF8Encoding();
//fileContent is the string to be saved in the file
byte[] buffer = encoding.GetBytes(fileContent);
requestStream.Write(buffer, 0, buffer.Length);
requestStream.Close();
Như bạn có thể thấy tôi đã cố gắng sử dụng System.Text.UTF8Encoding
, nhưng nó không hoạt động.
Opps, thứ hai có nghĩa vụ phải là & oslash; không có không gian. – linnkb
Lỗi có thể ở bên nhận ... –
Có nhiều khả năng là mặt FTP của sự việc gây ra vấn đề này hơn là với luồng văn bản. Nhưng bạn đã không hiển thị mã đó. –