2011-01-20 8 views
1

XML-RPC経由で私のサーバからデータを取得できません。なぜすべてのutf8文字列がとても奇妙に見えますか?特に、私はなぜ彼らの1つ(「タイトル」)が「投稿」と比較して異なる方法で見えるのか理解していないのですか?iphone xml-rpc utf8 strings

<CFBasicHash 0x568c0e0 [0x14d7400]>{type = mutable dict, count = 4, 
entries => 
0 : <CFString 0x56378f0 [0x14d7400]>{contents = "title"} = <26233333 3bd0b1d0 b5d0b5d0 b5> 
1 : <CFString 0x568a300 [0x14d7400]>{contents = "id"} = <CFNumber 0x568c780 [0x14d7400]>{value = +15, type = kCFNumberSInt32Type} 
2 : <CFString 0x568cee0 [0x14d7400]>{contents = "time"} = <CFString 0x568cfa0 [0x14d7400]>{contents = "1295372714"} 
3 : <CFString 0x568d230 [0x14d7400]>{contents = "post"} = <CFString 0x568d310 [0x14d7400]>{contents = "\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0432\u0435\u043b\u0438\u043a\u0438\u0439 \u0430\u0440\u043c\u044f\u043d\u0441\u043a\u0438\u0439 \u044f\u0437\u044b\u043a"} 

答えて

0

サーバーから辞書を取得していませんか?

ような何か試してみてください:

NSData *data; // THIS IS YOUR RETURNED SERVER DATA 

NSDictionary *dictionary; 
NSError *error; 

dictionary = (NSDictionary *) [NSPropertyListSerialization 
           propertyListFromData:data; 
            mutabilityOption:NSPropertyListMutableContainersAndLeaves 
              format:NULL 
            errorDescription:&error]; 

if (!dictionary) 
{ 
    NSLog(error); 
    [error release]; 
} 
else 
{ 
    NSLog(dictionary); 
} 

は、あなたがそれを終えたとき、あなたは辞書を解放すべきだと思う:

[dictionary release]; 

NSPropertyListSerializationを参照してください。

+0

乾杯。私はNSDictionaryを取り戻しています。私はエンコーディングで何をすべきか分かりません。 – danilabagroff

+0

私は、両方のutf8文字列が異なって見えるのか分かりません。それらのうちの1つは適切なutf8 \ uNNNNと完全に異なる他の1つに見えます。私は[NSString stringWithUTF8String]を使用します。しかし、今は私のアプリをクラッシュさせるので、私はちょうど英語である文字列で苦労しています。 – danilabagroff

+0

サーバーデータを取得する方法と方法についてさらに情報を投稿する必要がありますか?それはあなたのサーバーであり、どんな場合でも、返されるURLヘッダーからエンコーディングを検査することは可能ですか? – petert