编码 ISO 8859-1 以在 UITableview 中正确显示西班牙语文本



>我在转换从服务中获取的西班牙语文本时遇到问题

格式正确。服务器端他们使用ISO-8859-1进行编码。这是一个 xml 服务。在我的

iOS7应用程序,我正在使用TBXml解析器来解析数据。代码为:

NSString *XMLString = [[NSString alloc] initWithContentsOfURL:urlString encoding:NSISOLatin1StringEncoding error:nil];
TBXML *tbxml = [[TBXML alloc] initWithXMLString:XMLString];

我正在解析这些数据,但是当有西班牙语字符(如">BEBÉS Y")时,我的

字符串将为">BEB...S Y" .和">øPor quÈ albergamos a alborotadores?"而不是">¿Por qué 阿尔贝加莫斯·阿尔博罗塔多尔斯?请帮忙

你应该将XML数据下载为二进制(NSData),并让解析器处理编码。

NSData *data = [NSData dataWithContentsOfURL:url];
NSError *error;
TBXML *tbxml = [TBXML tbxmlWithXMLData:data error:&error];

请注意,XML 应将内容编码作为第一行,因此无需在代码中指定编码。

尝试使用 NSUTF8StringEncoding

NSString *XMLString = [[NSString alloc] initWithContentsOfURL:urlString encoding:NSUTF8StringEncoding error:nil];
TBXML *tbxml = [[TBXML alloc] initWithXMLString:XMLString];

更新:

NSData *dataContent = [[NSData dataWithContentsOfURL:urlString];
NSString *XMLString = [[NSString alloc] initWithData:dataContent encoding:NSISOLatin1StringEncoding];
TBXML *tbxml = [[TBXML alloc] initWithXMLString:XMLString];

更新 2:尝试数据初始化

NSData *dataContent = [[NSData dataWithContentsOfURL:urlString];
TBXML *tbxml = [[TBXML alloc] initWithXMLData:XMLString];

最新更新