我正在通过我的应用程序通过socket.io发送数据,我想将参数文本嵌入UILabel

Javascript服务器

socket.emit("app",{ac:"organización"})


iOS应用

var ac = self.jsonOFsocket["ac"] as String
//ac === "organización"
self.label.text = ac
//self.label.text === "organizaci\U00f3n"



该应用程序socket.io发送未加密的字符。
该应用程序成功接收了所有字符
该应用显示不同的符号


我尝试这样做:

func utf(txt:String) -> NSString {
   var newTxt = NSString(format:txt, NSUTF8StringEncoding)
   newTxt.precomposedStringWithCanonicalMapping
   return newTxt
}

var ac = self.jsonOFsocket["ac"] as String
//ac === "organización"
self.label.text = uft(ac)
//self.label.text === "organizaciââ¥n"


这个很重要:

organizaciââ¥n

最佳答案

这是Objective-C的方式:

NSData *data = [MyString dataUsingEncoding:NSUTF8StringEncoding];
NSString *stringWithSpecialCharacters = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding];


您还必须在服务器上存储正确的字符串格式,并确保它通过curl返回正确的字符串。

10-04 20:59