2011-08-07 102 views
0

我正在嘗試閱讀一些Ms Word文檔,這些文檔是用Unicode編碼的,有些像希伯來文或阿拉伯文。但它讀入二進制文件並轉換成一些非場景字符。我搜索了一些示例代碼,但其中沒有一個正確運行,您是否有任何阿拉伯語和希伯來語等Unicode文檔的經驗?謝謝PHP閱讀「Unicode」MS Word文檔

+0

你甚至解析Word文檔作爲Word文檔嗎?阿拉伯語unicode塊在這裏描述:http://en.wikipedia.org/wiki/Arabic_(Unicode_block)如果你有一個體面的Unicode實現,我不明白爲什麼處理阿拉伯文或希伯來文將是任何不同於其他字符範圍。 –

+0

你是否從頭開始編寫自己的MS Word實現? –

+0

@Y sangkok,是的,我解析它,但不能走槽。 – ePezhman

回答

1

PHP的一個缺點是(至少直到最近)一直是Unicode的無知。你通常只會忽略這樣一個事實,即你正在閱讀的是Unicode,並希望你的文檔最終能夠在Web瀏覽器中知道如何處理Unicode。 PHP不會破壞任何東西,它只是不在乎。

根據你正在嘗試做什麼,PHP中增加了一些改進的Unicode處理。其中有mb_字符串函數,它處理多字節字符串。

您還需要了解文本在Word文檔中的編碼方式。 Unicode支持許多格式,最流行和最緊湊的格式是UTF-8,但也有UTF-16UTF-32

+0

*最緊湊*在很大程度上取決於您擁有什麼內容,UTF-8最緊湊並不是一般的事實;僅適用於主要是ASCII的文本。但是,UTF-32總是最不緊湊的。 – Joey

+0

@Fabian感謝您的回答,您認爲可以將二進制轉換爲utf-8嗎? – ePezhman