Как обращаться с загадочными персонажами? - PullRequest
0 голосов
/ 02 марта 2019

Я получаю текст из документа, используя

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>

Я думаю, что это кодировка символов. Похоже, что это не UTF-8, согласно asciiTheme & ansiTheme.два "Похоже, что они находятся в нужном месте, и это объясняет два «неизвестных» символа. Есть ли возможность конвертировать их в UTF-8 или мне нужно изменить тип содержимого $ ajax?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...