Conversion de fichier d'occident encsv

Fermé
rahel610 Messages postés 28 Date d'inscription vendredi 20 septembre 2013 Statut Membre Dernière intervention 8 novembre 2018 - 20 nov. 2013 à 19:04
dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 - 25 nov. 2013 à 10:42
--j ai créé un fichier qui contient des caractères
hébraïque et j ai voulu convertir le texte
en une table et est sauvegardé en format xls
puis pour exploiter ce fichier sous php admin.
mon problème apparaît lorsque j ouvre le fichier csv
des points d interrogation apparaissent à la place
des caractères hébraïque que dois je faire
pour récupérer le bon alphabet
merci de m aider


raheli
A voir également:

8 réponses

dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 19
Modifié par dmganges le 21/11/2013 à 07:03
Bonjour,
juste un élément de réponse, car je n'ai jamais manipulé des caractères hébraïques en php, par contre je manipule des caractères arabes en Perl... ce qui revient au même car ces alphabets sont tous les deux codés sur 2 caractères en utf-8.

Dans ton cas le fichier en entrée doit être en utf-8 car j'imagine que tu vois les caractères correctement.
Tu peux contrôler avec tout éditeur de texte et éventuellement faire une sauvegarde en convertissant en utf-8.
C'est possible avec le Bloc note de Windows, Ultraedit ou encore KWrite sous Linux... et bien d'autres...


Il faut t'assurer que tu es en utf-8 PARTOUT !
PARTOUT, çà veut dire :
1 - le fichier en entrée (voir ci-dessus)
2 - le code source qui manipule le fichier en entrée doit être lui-même en utf-8, ceci est obligatoire seulement si le programme contient des chaînes de caractères en hébreu.
Par exemple en Perl ça se traduit par une directive en début de programme :
use utf8;
3 - toujours dans le programme qui manipule le fichier en entrée il faut convertir les entrées/sorties (lectures/écritures) en utf-8. En php je ne sais pas, en Perl il y a 2 solutions :
a) - ajouter en début de programme la directive :
use encoding 'utf8';
b) - convertir en utf-8 à l'ouverture du fichier :
open IN_Fic, '<:encoding(UTF-8)', $fichier_input
open OUT_Fic, '>:encoding(UTF-8)', $fichier_output

Word, Excel... ne faisant pas de conversion implicite, tu dois retrouver de l'hébreu dans les cellules...

Liens utiles :
https://jrgraphix.net/r/Unicode/
https://jrgraphix.net/r/Unicode/0590-05FF

En espérant que ceci t'aideras !
Un seul mot d'ordre de l'utf-8 PARTOUT :)

[Edit 07:04] une piste après le café :
https://www.php.net/manual/fr/function.utf8-encode.php
0
rahel610 Messages postés 28 Date d'inscription vendredi 20 septembre 2013 Statut Membre Dernière intervention 8 novembre 2018
21 nov. 2013 à 14:04
merci de votre réponse je vais faire les vérifications sur les fichiers en entrée et sortie et apporter les modifications suggérées je vous tiendrai au courant de l avancement de mon travail
merci encore de votre aide
0
rahel610 Messages postés 28 Date d'inscription vendredi 20 septembre 2013 Statut Membre Dernière intervention 8 novembre 2018
21 nov. 2013 à 14:04
merci de votre réponse je vais faire les vérifications sur les fichiers en entrée et sortie et apporter les modifications suggérées je vous tiendrai au courant de l avancement de mon travail
merci encore de votre aide
0
rahel610 Messages postés 28 Date d'inscription vendredi 20 septembre 2013 Statut Membre Dernière intervention 8 novembre 2018
24 nov. 2013 à 10:43
bonjour
merci de votre aide j ai reussi a importer mon fichier en hebreux cependant
je n arrive pas a afficher a l ecran ce que je lis dans la base avec fetch_array
Peut-etre la fontion n est pas la bonne y-a-t-il une autre fonction qui affiche les caracteres hebreux pour qu ils soient lisibles?
Merci de votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 19
Modifié par dmganges le 24/11/2013 à 11:40
Bonjour,
Si c'est à l'écran DOS que vous affichez, c'est normal, du moins à ma connaissance, il n'est pas possible d'afficher de utf-8 dans une console DOS, mais je n'ai pas trop cherché non plus !

Pour faire de l'affichage il faut passer par l'intermédiaire d'environnements graphiques du genre Java, Python, HTML... Au besoin en PHP vous pouvez générer de l'HTML...

Personnellement j'ai rencontré un comportement désagréable et peu professionnel avec Perl/Tk donc attention, faites quelques essais avant de vous embarquer, surtout s'il s'agit d'une appli professionnelle...

Voici une discussion en perl :
https://www.developpez.net/forums/d1161275/autres-langages/perl/interfaces-graphiques/perl-tk-chaines-arabes-scrolled-text/#post6385413

Actuellement pour afficher de l'arabe je passe par HTML !!!
Mais c'est une appli perso d'affichage de texte de référence, je passe donc par l'intermédiaire d'un navigateur pour lequel j'ai développé une extension de recherche... https://spinoza.pagesperso-orange.fr/
Ça m'oblige à avoir un serveur apache en local... mais ça comble tous mes besoins et plus encore ...

Bon courage,
PS, je suis absent à partir de 12h

[EDIT 11:38]
Attention, si vous comptez afficher les diacritiques en hébreu, ce sont des caractères à échappement nul, qui causent souvent des soucis d'affichage, il est important de bien valider la solution avant...
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
24 nov. 2013 à 20:47
Bonjour,
Les alphabets étrangers sont généralement codés en UTF-8 ou une de ses variantes.
Or, Excell ne sait pas ouvrir un fichier csv codé en UTF-8.
Cordialement
0
dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 19
25 nov. 2013 à 07:58
Bonjour, et MERCI mpmp93 pour cette précision !
J'ai fait un essai tellement j'étais déconcerté ! et en effet Excel ne sait pas lire de l'UTF-8 !!!
@rahel610
Avec un google basic, je suis tombé sur :
https://code.google.com/archive/p/php-excel
je ne sais pas ce que ça vaut...
Mais en Perl il y a une pléthore de modules qui permettent de manipuler des .xsl :
https://metacpan.org/search?q=excel
Il serait intéressant de tester :
https://metacpan.org/pod/release/DMYTRO/DBIx-Report-Excel-0.4/lib/DBIx/Report/Excel.pm

Dès qu'il faut manipuler des caractères à échappement nul en informatique c'est la galère !!!
L'informatique a été inventé par des occidentaux qui ne voient pas plus loin que le bout de leur nombril pour des occidentaux... :)
0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 25/11/2013 à 10:07
par contre, testez ceci:
- écrivez avec un éditeur qui sauve en UTF-8, un fichier test.xls
- mettez dans ce fichier ce code source:

<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40/">

<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 11">
<link rel=File-List href="test_fichiers/filelist.xml">
<link rel=Edit-Time-Data href="test_fichiers/editdata.mso">
<link rel=OLE-Object-Data href="test_fichiers/oledata.mso">
<title>...</title>
</head>
<body>

<table>
<tr>
<td>TEST c'est l'été</td>
<td>3.5</td>
</tr>
</table>
</body>
</html>

- puis ouvrez ce fichier fichier avec Excell.

Vous aurez les caractères accentués codés UTF-8 qui s'ouvrent correctement! J'ai testé localement en arabe et en russe... donc ça doit aussi être valable pour l'hébreu. Mais commentcamarche est alerhique au copié-colél de ces caractères....

Au lieu de créer un bête csv, pour Excell, intégrez vos donnes entre <table> et </table>, ça marchera. facilement faisable en PHP.

A+
0
dmganges Messages postés 150 Date d'inscription mercredi 29 octobre 2008 Statut Membre Dernière intervention 25 novembre 2013 19
25 nov. 2013 à 10:42
MERCI mpmp93,
C'est super, je viens de tester avec des diacritiques, IMPECCABLE !
limité 21 jours :
https://www.cjoint.com/?0KzkIs9tdwg

il ne faut pas cliquer dessus :
Erreur d'analyse XML : mal formé
Emplacement : http://www.cjoint.com/data/0KzkIs9tdwg_text.xsl
Numéro de ligne 6, Colonne 18 :<meta http-equiv=Content-Type content="text/html; charset=utf-8">
-----------------^

Il faut le télécharger et l'ouvrir avec Excel
Je mets cette méthode sous le coude, ça peut servir :)
Encore MERCI !
0