-[NSMutableAttributedString initWithHTML:documentAttributes:]
dường như mangle ký tự đặc biệt:NSAttributedString initWithHTML mã hóa ký tự không chính xác?
NSString *html = @"“Hello” World"; // notice the smart quotes
NSData *htmlData = [html dataUsingEncoding:NSUTF8StringEncoding];
NSMutableAttributedString *as = [[NSMutableAttributedString alloc] initWithHTML:htmlData documentAttributes:nil];
NSLog(@"%@", as);
Đó in “Hello†World
tiếp theo một số lệnh RTF. Trong ứng dụng của tôi, tôi chuyển đổi chuỗi được phân bổ thành RTF và hiển thị nó trong một NSTextView
, nhưng các ký tự cũng bị hỏng ở đó.
Theo các tài liệu, bảng mã mặc định là UTF-8, nhưng tôi đã cố gắng là rõ ràng và kết quả là như nhau:
NSDictionary *attributes = @{NSCharacterEncodingDocumentAttribute: [NSNumber numberWithInt:NSUTF8StringEncoding]};
NSMutableAttributedString *as = [[NSMutableAttributedString alloc] initWithHTML:htmlData documentAttributes:&attributes];
vĩ đại. Cám ơn vì cái này. (y) – Sid
Bạn nên thử câu trả lời khác trước tiên trong trường hợp họ đúng về câu trả lời của tôi chỉ làm việc vô tình. Tôi đã không có cơ hội để tự mình thử nghiệm nó. : -X – alltom
Chúng có một phần đúng. Đây là câu trả lời tương tự (nhiều hơn hoặc ít hơn) và nó hoạt động.Tôi đã làm cho câu trả lời này rõ ràng hơn vì nó được đánh dấu là chính xác. –