Chiness Charecter编码问题iPhone

我有一个应用程序,我支持四种语言。 在那个时候我用中文用户名login的时候显示我这样的回复..

[{“0”:“41”,“intid”:“41”,“1”:“\ u8a00 \ u3046”, “varfirstname”:“\ u8a00 \ u3046” ,“2”:“\ u8a00 \ u3046” “varlastname”: “\ u8a00 \ u3046”, “3”: “\ u5730”, “varusername”: “\ u5730”, “4”: “abc@gmail.com”, “varemailid”:“ABC @的Gmail .COM “ ”5“: ”QWERT“, ”varpassword“: ”QWERT“, ”6“: ”12345“, ”varmobileno“: ”12345“, ”7“: ”启用“, ”mobileMessage“:” 启用“ ”8“: ”“, ”varphoneno“: ”“, ”9“: ”启用“, ”enumstatus“: ”使能“, ”10“: ”二零一三年一月三十日“, ”date_insert“:” 2013 -01-30" , “11”: “2013年1月30日”, “date_edit”: “2013年1月30日”, “12”: “1.38.28.36”, “varipaddress”: “1.38.28.36”} ]

我想显示“varfirstname”到UITextfield文本。 但是当我在NSLog中打印时,我没有得到任何文本。

NSLog(@"Text is === %@",textfname,text);

谁能告诉我如何解码这个文本? 并显示在UITextfield或UILabel。

提前致谢 。

我只是谷歌它,发现从听到有用的答案之一

中文和日文字符不能用ASCIIstring编码是很自然的。 如果您尝试通过Apple的方法(您绝对应该避免代码重复)来避免string,请将结果存储为Unicodestring。 使用以下编码之一:

 NSUTF8StringEncoding NSUTF16StringEncoding NSShiftJISStringEncoding (not Unicode, Japanese-specific) 

希望它能帮助你

UPDATE

例如,你可以编码解码你的chinessstring像波纹pipe: –

 NSString * test = @"汉字马拉松是"; NSString* encodedString =[test stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSLog(@"====%@",encodedString); 

产量是: –

%E6%B1%89%E5%AD%97%E9%A9%AC%E6%8B%89%E6%9D%BE%E6%98%AF

然后解码就像: –

 NSString* originalString =[encodedString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSLog(@"====%@",originalString); 

产量是: –

汉字马拉松是

希望现在它的帮助你快乐codding 🙂

 NSString *abc = @"\u8a00\u3046"; NSLog(@" %@ " , [NSString stringWithUTF8String:[abc UTF8String]]); 

如果你使用json:

 NSString *html = @"\u8a00\u3046"; NSData *jsonData = [html dataUsingEncoding:NSUTF8StringEncoding]; NSLog(@" %@ " , [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]); 

他们都输出“言う”我认为这是日语