Tôi đang cố gắng đọc các chuỗi từ một mảng đến từ plist và in các chuỗi đó.Chuyển đổi các ký tự UTF8 đã thoát về hình thức ban đầu của chúng
Các chuỗi trong mảng chứa ký tự UTF8 đã thoát - ví dụ: "Nuša Florjančič" trở thành "Nu\u0161a Florjan\u010di\u010d"
khi đọc từ plist. Không có cách nào để thay đổi nội dung của plist, nhưng chương trình của tôi cần hiển thị tên đúng cách.
Điều kỳ lạ là Objective-C có vẻ tự động làm điều này khi tôi mã hóa cứng chuỗi. Tuy nhiên, nếu tôi nhận được chuỗi từ plist không có gì xảy ra cả.
Để cung cấp cho bạn một ví dụ, đây là một số mã:
NSString *name1 = @"Nu\u0161a Florjan\u010di\u010d";
NSString *name2 = [list objectAtIndex:0];
NSLog(@"name 1: %@", name1);
NSLog(@"name 2: %@", name2);
[list objectAtIndex:0]
chứa @"Nu\u0161a Florjan\u010di\u010d"
- sự khác biệt duy nhất là nó đã được thiết lập thông qua các biên tập viên plist.
Giao diện điều khiển đầu ra là:
2011-10-22 18:00:02.595 Test[13410:11c03] name 1: Nuša Florjančič
2011-10-22 18:00:02.595 Test[13410:11c03] name 2: Nu\u0161a Florjan\u010di\u010d
Tôi đã thử tất cả các loại của sự vật, bao gồm cả chuyển chuỗi thành một C-string và sau đó tạo ra một đối tượng NSString
với một mã hóa UTF-8 nhưng không làm việc tại tất cả các.
Tôi thực sự đánh giá cao bất kỳ gợi ý nào từ bạn có thể giúp tôi giải quyết vấn đề dường như trần tục này.
Cảm ơn bạn rất nhiều, bạn đời! Điều đó đã làm các trick :) – Tobi
Great đoạn mã. Cảm ơn bạn. –
@Tobi nếu điều đó có hiệu quả, tại sao bạn không thể đánh dấu nó là câu trả lời? – DroidHeaven