日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

如何解决php读取word 中文乱码问题

發布時間:2023/12/31 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 如何解决php读取word 中文乱码问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

php讀取word中文亂碼的解決辦法:1、查看php版本;2、修改php.ini并且重啟服務器;3、通過“iconv('GB2312', 'UTF-8', $test);”解決讀取過程中亂碼問題即可。

本文操作環境:Windows7系統,PHP7.4版,Dell G3電腦。

如何解決php讀取word 中文亂碼問題?

php讀取word文件過程中亂碼,怎么解決?

一、首先要確認php版本,最好是高于5.6

二、啟用PHP Com 擴展

// 將以下兩行代碼放入php.ini中, 并且重啟服務器// 開啟擴展extension=php_com_dotnet.dll// COM擴展里自帶的,只需將前面的;去掉就可以了com.allow_dcom = true

三、代碼如下:

public function readWord($url) { $word = new COM("word.application") or die("Unable to instantiate Word"); // 打開路徑為URL的word,doc或docx都可以 $word->Documents->OPen($url); // 讀取內容 $test= $word->ActiveDocument->content->Text; // 統計字數 // $num = strlen($test); // 解決讀取過程中亂碼問題 $content= iconv('GB2312', 'UTF-8', $test); // 查看版本 // $word_wersion = $word->Version; // 是否要打開文件,0代表否,1代表是 $word->Visible = 0; // 關閉word句柄 $word->Quit(); // 釋放對象 $word = null; return [ // 'num' => $num / 2, // 'word_wersion' => $wordWersion, 'content' => $content ]; }

注意:

問題一:

文件url有一個地方需要注意,就是你們傳進來的url千萬不能是絕對地址,不能是D:\\WWW\\這種,,一定要自己框架的路由地址,比如localhost/…,不然會出現錯誤,因為用絕對地址讀取word內容,只能讀取一次,然后word就會被鎖定,然后就無法讀取了。

問題二:

使用這種方式雖然解決了讀取Word內容亂碼的問題,但是只限于讀取純文本的Word,而且是沒有樣式的那種。如果需要獲取Word文檔的內容包括樣式、圖片、字體等,這種方式就不適合。

我們處理的方式是,采用Aspos。用Java做了一個底層服務,把上傳的Word文檔都轉成html格式的,如果文檔中有圖片的話,轉換后圖片會被提取到同級目錄,并在生成的html文件中留下<img>標簽。 這樣Word文檔中的字體和樣式就變成了了HTML代碼,最大程度保留了原文檔的樣式。

推薦學習:《PHP視頻教程》

總結

以上是生活随笔為你收集整理的如何解决php读取word 中文乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。