2012-02-08 1 views
0

이상한 문제가 발생했습니다. 나는 사용자가 앱을 통해 그의 연락처를 저장할 수있는 mysql 데이터베이스를 만들었다. 버튼을 클릭하여 연락처 정보를 추가하기 만하면됩니다. 그런 다음 데이터가 데이터베이스에 추가됩니다.문자열에 공백이 있으면 앱에서 데이터베이스를 업데이트하지 않습니다.

그러나 연락처 정보에 이름, 성 또는 숫자 사이에 공백이있을 경우 앱에서 데이터 수신을 거부합니다. 나는 그다지 오류 메시지가 없거나 어떤 확인을받지 못한다. 레코드가 데이터베이스에 존재하지 않습니다.

내 PHP 파일에는 문제가 없습니다 (파일이 정확합니다. 여기에서 두 번 확인했습니다.).

NSString *strURL = [NSString stringWithFormat:@"http://www.abc.com/phpFile.php?number=%@&name=%@&lastname=%@", number, firstName, lastName]; 

NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]]; 
     NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding]; 

     NSLog(@"%@", strResult); 
+1

코드를 다른 형태로 변형하지 마십시오. 일부 사람들은 따라하기가 어렵습니다. –

+0

핵심 데이터를 사용하고 있습니까? 엔티티 속성 유형 중 하나가 올바르게 설정되지 않았을 수 있습니다. – JDx

+0

@Paul : 죄송합니다. 영어가 제 모국어가 아니며 가끔씩 옮깁니다. 편집하겠습니다. – Blade

답변

5

공간 문자는 URI에서 허용되지 않습니다 : 다음은 내 코드입니다. 공간을 인코딩하려면 % 20을 사용하십시오. URI의 일부로 허용되지 않는 다른 문자가 있습니다. URI 인코딩을 찾는다.

+0

감사합니다. 나는 똑같은 생각을하고 있었다. 하지만 누군가가 앱을 사용할 때 공간이 어디인지 알 수 없기 때문에 어디에서 코드를 삽입 할 수 있는지 알 수 없습니다. – Blade

+1

인코딩 방법은 다음 링크를 참조하십시오. [link] (http://stackoverflow.com/questions/3140424/stringbyaddingpercentescapesusingencoding-not-working-with-nsstrings-with-0) – bbarnhart

2
NSString *strURL = [NSString stringWithFormat:@"http://www.abc.com/phpFile.php?number=%@&name=%@&lastname=%@", number, firstName, lastName]; 
strURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 

NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]]; 
     NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding]; 

     NSLog(@"%@", strResult);