내 프로그램은 다른 국가의 서버와 인터페이스하며 정기적으로 외국 문자가 포함 된 URL을 처리해야합니다. 이것은 æ
, ø
및 å
과 같은 스칸디나비아 문자를 고려할 때까지 제대로 작동합니다. 이 제대로 이러한 문자를 해독하는 데 실패스칸디나비아 문자 æ, ø, å가 잘못 이스케이프 처리되었습니다.
-(NSString*)urlDECODE:(NSString*)string
{
NSString* s = [string stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
return (s)?s:string;
}
그러나 : 나는 URL을 받으면 다음과 같이, 나는 그것을 해독
filename: æøåa.rtf
input: %C3%83%C2%A6%C3%83%C2%B8a%C3%8C%C2%8Aa.rtf
output: æøaÌa.rtf
편집 :
NSString * URLEncode(NSString * url)
{
NSString* out = nil;
@try
{
NSLog(@"BEFORE=%@",url);
out = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"AFTER=%@",out);
}
@catch (NSException * e)
{
NSLog(@"Encoding error: %@", e);
}
return out;
}
어떻게 출력 메시지를 생성합니까? – sergio
당신은'NSISolatin1StringEncoding'을 시도했습니다. – rishi
또한 입력 ('string' 변수)이 맞습니까? – Monolo