邮箱APP个别汉字丢失问题解决

来源:互联网 发布:网络与新媒体概论 编辑:程序博客网 时间:2024/06/05 02:42
开发iOS邮箱APP时出现有的邮件个别汉字丢失问题,最终找到原因是6字节格式汉字中有的内容被误认为是一种占位符,被替换为nbsp。解决方法,在下面的函数中添加
    tidyOptSetBool(tdoc, TidyQuoteNbsp, no);
以禁用这种替换。

String * HTMLCleaner::cleanHTML(String * input){    TidyBuffer output;    TidyBuffer errbuf;    TidyBuffer docbuf;    int rc;    TidyDoc tdoc = tidyCreate();    tidyBufInit(&output);    tidyBufInit(&errbuf);    tidyBufInit(&docbuf);    Data * data = input->dataUsingEncoding("utf-8");    tidyBufAppend(&docbuf, data->bytes(), data->length());#if TARGET_IPHONE_SIMULATOR || TARGET_OS_IPHONE    // This option is not available on the Mac.    tidyOptSetBool(tdoc, TidyDropEmptyElems, no);#endif    tidyOptSetBool(tdoc, TidyXhtmlOut, yes);    tidyOptSetBool(tdoc, TidyQuoteNbsp, no);    tidyOptSetInt(tdoc, TidyDoctypeMode, TidyDoctypeUser);    tidyOptSetBool(tdoc, TidyMark, no);    tidySetCharEncoding(tdoc, "utf8");    tidyOptSetBool(tdoc, TidyForceOutput, yes);

0 0
原创粉丝点击