PHP com对象不能正确显示非英文字符的内容


PHP com object doesn't showing content correctly for non English character

我正在努力与php COM对象,读取(.doc)字数据。问题是,当我从文档文件检索内容,数据显示,但它不显示实际数据-

example.doc内容

Čo je to zubný polvlak ?Zubný波夫拉克耶列普卡夫 a bezfarebn vrstva baktérií a库克罗夫,ktor sa neprestajne tvorí na波夫拉克耶祖波夫。Býva hlavnou príčinou zubných kazov a parodontitídy a ak sa denne neodstraňuje, môže stvrdnúť a zmenikv sa na zubný kameov .

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);

结果显示

Co je to zubný povlak?Zubný波夫拉克耶列普卡夫 a bezfarebn vrstva baktérií a库克罗夫,ktor sa neprestajne tvorí na波夫拉克耶祖波夫。Býva hlavnou prícinou zubných kazov a parodontitídy a ak sa denne neodstranuje, môže stvrdnút a zmenit sa na zubný卡门。Ako zistím, že mám zubný polvlak ?

Čo显示Co而不是Čo

任何帮助是高度赞赏或有任何其他方式来阅读文档文件(不是docx),这将完美地显示字符?

这可能是编码错误(您的文本是utf8吗?)。

根据文档(查找codepage参数),您可以将代码页设置为第三个参数。例如使用utf8:

$word = new COM("word.application", NULL, CP_UTF8) ;