Bonjour tout le monde,
J'ai une liste de fichiers pdf nommés de 1.pdf à 1000.pdf, et j'ai des fichiers html (1.html à 1000.html) qui contiennent les noms correspondant.
J'ai utilisé le code suivant pour extraire les titres:
Code que je test sur 10 fichiers :
Le code fonctionne bien. Lorsque j'affiche les titres sur mon navigateur ils s'affiche en Arabe, mais lorsque je les utilisent pour renommer les fichiers pdf ils s'affiche sur Windows bizarrement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 //Extraction du texte à partir d'un fichier HTML et renommer un fichier dans un répertoire $num_fichier = 10; for ($j=1;$j<=$num_fichier;$j++){ $ligne=32; $titre=''; $fichier='../ressources/'.$j.'.html'; $fp=fopen($fichier,'r'); if ($fp){ for ($i=1;$i<=$ligne;$i++) { $Temporaire = fgets($fp); if (empty($Temporaire)){ break; }else { $Contenu = $Temporaire; } } } fclose($fp); $titre = $Contenu; //Test d'affichage du titre sur le navigateur //echo $titre; rename('../ressources/'.$j.'.pdf', '../ressources/'.$titre.'.pdf'); }
L'encodage de mon serveur Apach : ISO-8859-1
Mon IDE est en UTF-8
J'ai utilisé les fonction mb_detect_encoding($titre) et iconv("UTF-8", "Windows-1256//IGNORE (ou TRANSLIT)", $titre).
Cependant, je soupçonne le output de mon serveur Apach que je n'arrive pas à changer en windows-1256 ou cp1256, car la fonction mb_internal_encoding() ne les prends pas comme paramètre (cf mb_list_encodings())
Y at-il qqn qui peut m'aider à résoudre ce problème avp?
Partager