0
我正面臨一個奇怪的行爲。我用下面的代碼使用POST方法來發送一個HTTP請求 向服務器RKClient POST方法和特殊字符
[[RKClient sharedClient] post:[NSString stringWithFormat:@"api"]
params:aDict
delegate:self];
持有的值的字典爲如下:
NSDictionary *comment = [NSDictionary dictionaryWithObjects:[NSArray
arrayWithObjects:@"wallcomment", [self.wall
valueForKey:@"wallMessageId"], [self.textView text], nil]
forKeys:
[NSArray arrayWithObjects:@"a01call", @"a01wall_message_id",
@"a01comment", nil]];
當[self.textView文本]是用法語單詞加口音 服務器收到錯誤的編碼:「Test @ vrification caractèresspéciaux」
我不會在發佈之前操作textview文本,所以編碼是也UTF8。
當我檢查POST標題時,內容類型不具有編碼類型。我試圖用下面的方法添加它,但不添加:
- (void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)header
我在文檔中沒有看到任何特殊的方法或屬性?
我使用RestKit 0.9.3
這可能很明顯,但在調用* post *之前,需要調用* setValue:forHTTPHeaderField:*。如果你正確地做到了這一點,那麼在RKClient.m中調試第216行,看看你的頭文件在哪裏。 – lawicko 2012-03-16 12:58:37
我記得我試圖設置HTTPHeader字段添加UTF-8編碼與內容類型,但是當我檢查標題值內容類型仍然應用程序/ x-www-form-urlencoded – Appsido 2012-03-16 15:04:34
這裏的重要信息是**當你打電話給* post *之前或之後,你是否設置了標題?如果之前,它仍然沒有設置,那麼就像我之前說過的那樣調試216行。 – lawicko 2012-03-16 15:09:54