如何处理神秘人物?

时间:2019-03-02 19:57:42

标签: office-js

我正在从文档中使用

var doc = context.document;
var originalRange = doc.body;
originalRange.load("text");
return context.sync()
  .then(function () {
    // all sorts of mayhem
  }

然后我将文本发送到服务器进行一些分析并返回结果。一切都很好。

用户可以单击结果,然后我的代码在文档中找到句子,滚动到该句子,突出显示该句子,然后添加注释。不过,一切都很好。 也就是说,除非句子中包含一些未知字符。

该文本在句子中间似乎有回车符和/或非打印字符。

//开始不好的句子

  

“您的“网络服务器”和“站点”

     

在“默认网站”下,您

//结束不好的句子

(是的,它写的不好,格式化的目的很差)

当我查看正在发送的内容时,我看到了...

"your “web server” and “sites”  Under “Default Web Site” you"

当我查看返回的内容时,我看到了...

"your “web server” and “sites”  ��Under “Default Web Site” you"

搜索文本时,毫不奇怪,我得到0条结果。

searchResults = context.document.body.search(myText, { matchCase: true, ignorePunct: true, ignoreSpace:true});

如何搜索文本,并忽略这些奇怪的字符?还是我从文档中捕获的文本不正确?

任何指导将不胜感激!

更新:我正在查看document.xml(将'docx'扩展名更改为“ cab”之后),这就是我在该段落中看到的内容...

<w:p w:rsidR="00A739D5" w:rsidRDefault="00A739D5" w:rsidP="00A739D5">
    <w:pPr>
        <w:rPr>
            <w:rFonts w:asciiTheme="minorHAnsi" w:hAnsiTheme="minorHAnsi" w:cs="Calibri"/>
        </w:rPr>
    </w:pPr>
    <w:r>
        <w:rPr>
            <w:rFonts w:asciiTheme="minorHAnsi" w:hAnsiTheme="minorHAnsi" w:cs="Calibri"/>
        </w:rPr>
        <w:t xml:space="preserve">your "web server" and "sites" </w:t>
    </w:r>
    <w:hyperlink r:id="rId7" w:history="1">
        <w:r>
            <w:rPr>
                <w:rStyle w:val="Hyperlink"/>
                <w:rFonts w:asciiTheme="minorHAnsi" w:hAnsiTheme="minorHAnsi" w:cs="Calibri"/>
                <w:color w:val="5FAA02"/>
            </w:rPr>
            <w:t> </w:t>
        </w:r>
    </w:hyperlink>
    <w:r>
        <w:rPr>
            <w:rFonts w:asciiTheme="minorHAnsi" w:hAnsiTheme="minorHAnsi" w:cs="Calibri"/>
        </w:rPr>
        <w:br/>
    </w:r>
    <w:r>
        <w:rPr>
            <w:rFonts w:asciiTheme="minorHAnsi" w:hAnsiTheme="minorHAnsi" w:cs="Calibri"/>
        </w:rPr>
        <w:br/>
        <w:t xml:space="preserve">Under "Default Web Site" you </w:t>
    </w:r>
</w:p>

我在想这是字符编码。根据asciiTheme和ansiTheme,这看起来好像不是UTF-8。这两个“ ”似乎在正确的位置,它将解释两个“未知”字符。是否可以将它们转换为UTF-8,还是需要更改$ ajax内容类型?

0 个答案:

没有答案