在uiwebview中加载数据时转换unicode字符

时间:2014-03-11 07:16:52

标签: ios objective-c xcode unicode uiwebview

{   disclaimertxt = "<b>sample tex\U221a\U00a9t n\U221a\U00a9ewerv\U221a\U00a9e iew adults.</b>
\n<br/>
\n<br/>
\nthis is sample \U221a\U2020 an d\U221a\U00a9convertion of the language\U221a\U00a9reduction\U201a\U00c4\U00b6
\n                    ";
}

上面的字典是包含键值disclaimertext

的上述值的字典

但在输出中,unicode字符将替换为?(C)" and "?A

我的代码是:

NSData *messagedata = [dictionary[disclaimertxt] dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
    NSString *string = [[NSString alloc]initWithData:messagedata encoding:NSUTF8StringEncoding];

所以我想在uiwebview中加载时显示那些具有受尊重的文本/值的unicode字符.plz给出你的建议。在ios7中它的工作正常,我需要的输出。但当我运行ios6时,目标是超越outout.so plz找到解决方案。

1 个答案:

答案 0 :(得分:0)

请按照以下步骤操作:

  1. HTML从不包含元标记的网页手动加载到字符串中。
  2. 使用字符串操作,将适当的编码元标记插入到手动加载的HTML
  3. 使用HTML
  4. 将网页视图中的loadHTMLString:设置为修改后的字符串

    使用此功能将Unicode字符转换为NSString

    char cString[] = "This isn\u2019t Test String";
    NSData *data = [NSData dataWithBytes:cString length:strlen(cString)];
    NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    

    现在在Webview中使用此字符串。