Maison > développement back-end > Problème PHP > Comment résoudre le problème des caractères chinois tronqués dans le mot de lecture PHP

Comment résoudre le problème des caractères chinois tronqués dans le mot de lecture PHP

藏色散人
Libérer: 2023-03-14 11:26:01
original
3054 Les gens l'ont consulté

Solution pour PHP lisant les caractères chinois tronqués dans Word : 1. Vérifiez la version de PHP ; 2. Modifiez php.ini et redémarrez le serveur ; 3. Résolvez-le via "iconv('GB2312', 'UTF-8', $test );" Le problème des caractères tronqués lors de la lecture est suffisant.

Comment résoudre le problème des caractères chinois tronqués dans le mot de lecture PHP

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.4, ordinateur Dell G3.

Comment résoudre le problème des caractères chinois tronqués lorsque php lit un mot ?

php lit des caractères tronqués lors de la lecture de fichiers Word, comment le résoudre ?

1. Tout d'abord, confirmez la version de php, de préférence supérieure à 5.6

2. Activez l'extension PHP Com

// 将以下两行代码放入php.ini中, 并且重启服务器
// 开启扩展
extension=php_com_dotnet.dll
// COM扩展里自带的,只需将前面的;去掉就可以了
com.allow_dcom = true
Copier après la connexion

3. Le code est le suivant :

    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
        ];
    }
Copier après la connexion

Remarque :

Question 1 :

Une chose à laquelle vous devez faire attention dans l'URL du fichier est que l'URL que vous transmettez ne doit pas être une adresse absolue, elle ne peut pas être D:WWW. Elle doit être l'adresse de routage de votre propre framework, tel que localhost. /..., sinon une erreur se produira, car La lecture du contenu du mot à l'aide d'une adresse absolue ne peut être lue qu'une seule fois, puis le mot sera verrouillé et ne pourra pas être lu.

Question 2 :

Bien que l'utilisation de cette méthode résolve le problème de la lecture du contenu Word tronqué, elle se limite uniquement à la lecture de texte brut Word, et c'est le genre sans styles. Si vous avez besoin d'obtenir le contenu d'un document Word, notamment les styles, les images, les polices, etc., cette méthode ne convient pas.

La façon dont nous traitons ce problème est d'utiliser Aspos. J'ai créé un service de niveau inférieur en utilisant Java pour convertir les documents Word téléchargés au format HTML S'il y a des images dans le document, les images seront extraites dans le répertoire de même niveau après la conversion et la balise <img> sera laissée dans le HTML généré. déposer. De cette manière, les polices et les styles du document Word deviennent des codes HTML, conservant au maximum le style du document original.

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal