Conversion de fichier d'occident encsv
rahel610
Messages postés
32
Statut
Membre
-
dmganges Messages postés 152 Statut Membre -
dmganges Messages postés 152 Statut Membre -
--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
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:
- Conversion de fichier d'occident encsv
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
8 réponses
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 :
a) - ajouter en début de programme la directive :
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
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
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
merci encore de votre aide
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
merci encore de votre aide
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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...
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...
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
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
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... :)
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... :)
par contre, testez ceci:
- écrivez avec un éditeur qui sauve en UTF-8, un fichier test.xls
- mettez dans ce fichier ce code source:
- 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+
- é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+
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 !
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 !