我非常挑剔,我正在用阿拉伯语获取用户输入,该输入存储在NSString
中。
该字符串在应用程序和调试窗口中都正确显示。
以下是我的问题:字符串已添加到NSMutableDictionary
,然后序列化为 JSON
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionary
options:NSJSONWritingPrettyPrinted
error:&error];
然后将数据发布到服务器,但一次阿拉伯语内容表示为????
这显然是编码问题。我找不到使用 UTF-8 对NSString
进行编码的正确方法,并仍将其添加到词典中。
AddingPercentEncoding会将其编码为URL UTF-8编码,这不是我所追求的。
我找到的唯一合理的编码是[NSString UTF8String]
,它将字符串转换为const char *
而不是NSObject
。
我真正追求的是:مرحبا UTF-8 --->的 UO±Øبا
解码效果很好,如果iOS应用程序收到带有此类表示的JSON,生成的NSDictionary
将保存一个以阿拉伯语返回正确值的键。
感谢您的帮助! :d