2011-03-23 2 views
0

iphone에서 처리하기 위해 서버로 텍스트를 보내고 있습니다. 텍스트는 약간의 스페인어 문자를 포함 예를 들어, á é í ó U U ñ ¿ ¡ ºª스페인어 문자 인코딩 - iphone

전송, 나는 또한 그것을 디코딩 UTF8 인코딩을 사용 NSUTF8StringEncoding 서버 측을 인코딩하고 있지만.

하지만 서버 측에서이를 ???????로 디코딩합니다.

누구든지이 문제에 직면했으며 해결 방법을 알려주십시오.

감사합니다.

+0

서버에서 수신 한 개별 바이트가 동일하고 동일한 순서인지 확인할 수 있습니까? 16 진수 값은 무엇입니까? –

+0

16 진수 값을 게시합니다. 서버 측은 저에게 처리되지 않으므로 시간이 필요합니다. – D25

답변

1

+ GTMNSString 파일을 참조하십시오.

이 게시물 데이터이므로 특수 문자를 이스케이프 처리해야했습니다.

stringByAddingPercentEscapesUsingEncoding: 모든 특수 문자를 이스케이프 처리하지 않는 것 같습니다. 나는 공백으로 대체되는 "+"문자로이 문제에 직면했다.

제대로 이스케이프 처리되지 않은 스페인어 문자와 동일한 일이 발생하므로 수동으로 교체하고 작동합니다.

다음은 예제입니다. 모든 글자에이 내용을 썼습니다.

escapedString = [escapedString stringByReplacingOccurrencesOfString:@"À" withString:@"%C0"];   
     escapedString = [escapedString stringByReplacingOccurrencesOfString:@"Á" withString:@"%C1"];   
     escapedString = [escapedString stringByReplacingOccurrencesOfString:@"Â" withString:@"%C2"];   
     escapedString = [escapedString stringByReplacingOccurrencesOfString:@"Ã" withString:@"%C3"];   
     escapedString = [escapedString stringByReplacingOccurrencesOfString:@"Ä" withString:@"%C4"]; 

감사합니다. xj1200 및 saadnib에게 문의 해 주셔서 감사합니다. 정말 고마워. 다른 사람들이 더 좋은 해결책을 찾으면 게시하십시오.

0

Mac 용 Google Toolbox를 사용하여 이러한 문자를 코딩 할 수 있다고 생각합니다. 나는 해결책을 발견

http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/?r=27#trunk%2FFoundation

+0

투표를 거절하는 이유를 게시하십시오. – saadnib

+0

NSUTF8StringEncoding은 문자 인코딩에 완벽하게 적합합니다. 문제는이 형식을 사용하여 인코딩 된 문자를받는 것과 관련이 있습니다. Foundation 프레임 워크가 이미 필요한 모든 것을 갖추고있을 때 제 3 자 API로 복잡성을 추가 할 필요가 없습니다. –

+0

Foundation 프레임 워크는 모든 점에서 우리의 문제를 해결하기 위해 제 3 자 API를 추가해서는 안된다는 것을 의미하지는 않습니다. NSUTF8StringEncoding은이 문자를 적절한 형식으로 변환하지 않으므로 서버 측에서 문제를 겪고 있으며이 제 3 자 API가 올바른 방식으로 변환 할 수 있으며 서버 측에서 쉽게 인코딩 할 수 있습니다. – saadnib