我有一个简单的IOS应用程序,我为我工作的顾问创建。它有一个自定义键盘,带有包含上标和下标字符的符号。我发现处理这些字符的最简单方法是使用HTML
和WebView
,这很好用。
我现在正尝试将此信息发送到将其插入SQL数据库的Web应用程序。发送所有其他信息的工作正常,直到我在其中找到HTML
的成绩单。我正在使用stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding
对通过查询字符串发送的每个值进行编码,但是当包含HTML元素时,查询字符串会失败。我相信这是由于/
在转义编码期间未被删除。例如,HTML中断标记变为%3Cbr%20/%3E
。因此,<
>
和空格被替换,但不会替换/
。
我应该使用不同的方法吗?有没有一种简单的方法来通过查询字符串发送HTML?我是否更正/
字符是破坏我的查询字符串的?
以下是我现在的代码:
NSString *datePE =[dateString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *studentPE =[student stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *teacherPE =[teacher stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *transcriberPE =[transcriber stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *vrPE =[vrTextField.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *totalTimePE =[totalTimeString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *transcriptPE =[transcriptString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
parameters = [NSString stringWithFormat:@"dateQS=%@&studentQS=%@&teacherQS=%@&transcriberQS=%@&vrQS=%@&totalTimeQS=%@&transcriptQS=%@",datePE ,studentPE,teacherPE,transcriberPE,vrPE,totalTimePE, transcriptPE];
request = [NSMutableURLRequest
requestWithURL:[NSURL URLWithString:@"http://server.domain.net/folder/subfolder/Default.aspx?"]];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[parameters dataUsingEncoding:NSUTF8StringEncoding]];
connection = [[NSURLConnection alloc] initWithRequest:request
delegate:self
startImmediately:YES];