PHP com объект не показывает содержимое правильно для не английского символа

Я борюсь с php COM-объектом, чтобы прочитать (.doc) слово данных. Проблема в том, что когда я извлекаю контент из файла doc, данные отображаются, но они не показывают фактические данные -

содержание example.doc

Что до зубного повлака? Zubný povlak je lepkavá a bezfarebná vrstva baktérií a cukrov, ktorá sa neprestajne tvorí on povrchu zubov. Bîva hlavnou príčinou zubných kazov parodontitídy ak sa denne neodstraňuje, može stvrdnúť zmeniť sa on zubný kameň.

PHP

$filename = 'example.doc';
$word = new COM("word.application") or die ("Could not initialise MS Word object.");
$word->Documents->Open(realpath($filename));

// Extract content.
$content = (string) $word->ActiveDocument->Content;

echo nl2br($content);

$word->ActiveDocument->Close(false);

$word->Quit();
$word = null;
unset($word);

результат показывает

Со зубным повлаком? Zubný povlak je lepkavá a bezfarebná vrstva baktérií a cukrov, ktorá sa neprestajne tvorí on povrchu zubov. Бывшая главная в истории страны, которая занимается пародонтологией, может похвастаться прекрасной ситуацией на земле. Ako zistím, že mám zubný povlak?

подобно Čo показывает Co вместо Čo

Любая помощь высоко ценится или есть какой-либо другой способ чтения файла документа (не DOCX), который будет отлично отображать характер?

1 ответ

Решение

Это может быть ошибка с кодировкой (ваш текст в utf8?).

Согласно документу (ищите параметр кодовой страницы), вы можете установить кодовую страницу в качестве третьего аргумента. Для примера с utf8:

$word = new COM("word.application", NULL, CP_UTF8) ;
Другие вопросы по тегам