从POST请求获得响应时输出未知

时间:2014-11-06 07:44:49

标签: objective-c json http post response

我在我的应用中做了多个POST请求,其中一个给了我一个未知的响应。

 Response is: {
    error = 0;
    questions =     (
                {
            a1 = "Gulf of Mexico";
            a2 = "Gulf of Carpenteria";
            a3 = "Gulf of Panama";
            a4 = "Gulf of Persia";
            id = 9;
            q = "What is the largest gulf in the world?";
        },
                {
            a1 = "\U0416\U0435\U043b\U044c\U043e \U0413\U0435\U043e\U0440\U0433\U0438\U0435\U0432";
            a2 = "\U0421\U0432\U0438\U043b\U0435\U043d \U0414\U0438\U043c\U0447\U0435\U0432\U0441\U043a\U0438";
            a3 = "\U0413\U0435\U043e\U0440\U0433\U0438 \U0427\U0435\U043b\U0435\U0432";
            a4 = "\U0426\U0435\U0446\U043a\U043e \U0421\U043f\U0435\U0446\U043a\U043e";
            id = 1;
            q = "\U041a\U043e\U0439 \U0435 \U0432\U043b\U0430\U0441\U0442\U0435\U043b\U0438\U043d\U044a\U0442 \U043d\U0430 \U0434\U0438\U0437\U0430\U0439\U043d\U0430?";
        } };

所以当你看到第一对很好。它给了我正常的字符串,但另一对给了我奇怪的字符,应该说:

id: 1,
q: "Кой е властелинът на дизайна?",
a1: "Жельо Георгиев",
a2: "Свилен Димчевски",
a3: "Георги Челев",
a4: "Цецко Спецко"
},

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我认为他们正在做你想做的事。它只是Unicode字符编码的字符串。 U + 0416,例如西里尔字母大写字母“Ж”。

NSString *a1 = @"\u0416\u0435\u043b\u044c\u043e \u0413\u0435\u043e\u0440\u0433\u0438\u0435\u0432";
NSLog(@"%@", a1);

为我打印“ЖельоГеоргиев”。 (但这需要小写的U字符。)

答案 1 :(得分:0)

我有同样的问题,我发现问题来自PHP文件。在我调用json_encode()函数的地方,PHP文件以不正确的编码保存。所以我建议检查编码。或者在PHP中设置标题:header("content-type: text/html; charset=utf8");