#1 Le 24/10/2016, à 18:15
- ar barzh paour
[Résolu] codage caractère via libre office
difficile d'expliquer ce qui ne va pas
j'ai (au moins) deux fichiers que je tiens à jour manuellement via le tableur libre office
pour pouvoir effectuer des grep sur ces fichiers texte
je transforme ces fichiers sous libreoffice en fichiers texte de la façon suivante
Fichier / Enregistrer sous
Tous les formats : je choisis Texte CSV (.csv)
Je coche Editer les paramètres du filtre
Utiliser le format csv
Jeu de caractères : je laisse Unicode (UTF-8)
Séparateur de champ : je choisis ; au lieu de ,
OK
ce que je ne comprends pas c'est pourquoi certains caractères ne sont pas codés de la même façon
exemple
apostrophe est codé 27 dans un fichier et E2 80 99 dans l'autre
quand j'effectue un grep d'apostrophe dans le fichier , dans un cas il trouve et pas dans l'autre
je me suis arraché les cheveux qui me restent avant de m'apercevoir de cette différence de codage
et puis ceci : accrochez-vous !!!
un fichier tout simple
1 A B
2 Col1 Col2
3 il est bête mais il n'est pas méchant
4 c'h C'H
j'enregistre sous essai.ods
puis sous Texte Csv comme indiqué au dessus
j'obtiens le fichier texte essai.csv qui ouvert par gedit me visualise
Col1;Col2
il est bête;mais il n’est pas méchant
c’h;C’H
SAUF que quand je regarde le codage de l'apostrophe j'ai E2 80 99
avec GHEX , je demande la transformation de E2 80 99 en 27
visuellement ça ne change rien (par gedit)
maintenant je ré-ouvre ce fichier via libre office
j'accepte (ou je modifie) les options de séparateur : Point-virgule
libre office me visualise le fichier identiquement à ce que j'avais avant
1 A B
2 Col1 Col2
3 il est bête mais il n'est pas méchant
4 c'h C'H
là ça se corse
je ré-enregistre ce fichier en texte.csv sous essai2.csv
et je regarde le codage de l'apostrophe : 27 !!!!!!!!!!!!!!!!!!!
je résume la manip
fichier
enregistrement sous fichier.csv =====> aspostrophe codée E2 80 AA
modification de E2 80 AA en 27 dans ce fichier
ouverture de fichier.csv via libre office
enregistrement sous fichier2.csv ===> apostrophe codée 27
y-a-t-il une explication ? ET un remède !
Dernière modification par ar barzh paour (Le 25/10/2016, à 10:04)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#2 Le 24/10/2016, à 22:53
- Compte anonymisé
Re : [Résolu] codage caractère via libre office
pour avoir directement l'apostrophe "27" tu peux faire : insertion > caractères spéciaux ... et tu choisi l’apostrophe (ça sera écrit 27)
OU
si tu veux l'avoir à chaque fois : Outils > Options d'Autocorrection ... > Options linguistiques et tu décoches guillemets simples
Dernière modification par Compte anonymisé (Le 24/10/2016, à 22:54)
#3 Le 25/10/2016, à 08:06
- pingouinux
Re : [Résolu] codage caractère via libre office
Bonjour,
Si ça peut aider
’ => <U2019> /xe2/x80/x99 RIGHT SINGLE QUOTATION MARK
' => <U0027> /x27 APOSTROPHE
=> <U202A> /xe2/x80/xaa LEFT-TO-RIGHT EMBEDDING
Hors ligne
#4 Le 25/10/2016, à 09:19
- ar barzh paour
Re : [Résolu] codage caractère via libre office
@ pingouinux : ça me permets de revoir mes tables unicodes
@ Anonyme68
merci c'est une solution je m'en sors comme ça
quand même pour mémoire , les caractères "Apostrophe" existant dans le fichier restent codés E2 80 99 , seuls les nouvelles saisies sont codées 27
donc ce que je vais faire :
transformer le fichier ods en csv
via GHEX (ou autre façon) remplacer les E2 80 99 en 27
réouvrir le fichier csv avec libre office et faire la sauvegarde du document ainsi modifié (en .ods)
après essai , cela fonctionne bien
il faut remarquer aussi qu'une option reste valable pour tous les fichiers ouvert par libre office
(j'ajoute cette remarque parce que je ne suis pas un très grand connaisseur des finesses de libre office)
merci encore Anonyme68 pour cette solution !
Dernière modification par ar barzh paour (Le 25/10/2016, à 10:04)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#5 Le 25/10/2016, à 09:39
- pingouinux
Re : [Résolu] codage caractère via libre office
quand même pour mémoire , les caractères "Apostrophe" existant dans le fichier restent codés E2 80 99 , seuls les nouvelles saisies sont codées 27
Ce sont deux caractères différents (même si ça ne se voit pas beaucoup) :
’ => RIGHT SINGLE QUOTATION MARK
' => APOSTROPHE
Hors ligne
#6 Le 25/10/2016, à 10:00
- ar barzh paour
Re : [Résolu] codage caractère via libre office
@pingouinux
oui cependant quand j'effectue une saisie je n'utilise que le signe qui se trouve sur la touche 4 (donc pour moi apostrophe)
je ne voyais pas pourquoi je pouvais obtenir des codages différents
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#7 Le 25/10/2016, à 10:10
- pingouinux
Re : [Résolu] codage caractère via libre office
Est-ce toi qui as créé le fichier d'origine (celui contenant le caractère codé e28099) ?
Hors ligne
#8 Le 25/10/2016, à 13:25
- ar barzh paour
Re : [Résolu] codage caractère via libre office
@ pingouinux
je ne sais plus trop comment j'ai débuté ce fichier qui date de plusieurs dizaines d'années et il se peut qu'à l'origine je sois parti d'une reconnaissance de caractères et non d'une saisie manuelle
tu peux essayer facilement par exemple une seule cellule contenant c'h
et suivant l'option linguistique (guillemets simples) cochée ou non, on obtient dans le fichier .csv un codage à 27 ou à e2 80 99
en tout cas c'est ce qui se produit sur ma machine
il y a une autre option (guillemets) mais comme je n'utilise pas les guillemets je n'ai pas regardé ce qui se passait
de plus sur la visualisation du caractère , je n'utilise le fichier .csv que via grep
Dernière modification par ar barzh paour (Le 25/10/2016, à 13:43)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#9 Le 25/10/2016, à 13:30
- pingouinux
Re : [Résolu] codage caractère via libre office
et suivant l'option linguistique (guillemets simples) cochée ou non, on obtient dans le fichier .csv un codage à 27 ou à e2 80 99
Où se trouve cette option ?
Hors ligne
#10 Le 25/10/2016, à 13:37
- ar barzh paour
Re : [Résolu] codage caractère via libre office
dans le menu de LibreOffice
Outils / Options d'Autocorrection / Options liguistiques
EDIT : j'ai modifié mon post #8 , c'est certainement du à l'origine du fichier qui contenait donc des "27" , par la suite les saisie manuelles étaient codées E2 80 99
Dernière modification par ar barzh paour (Le 25/10/2016, à 13:45)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#11 Le 25/10/2016, à 13:56
- pingouinux
Re : [Résolu] codage caractère via libre office
Apparemment, quand tu coches la case, le remplacement ne s'effectue qu'au moment de la frappe, et pas sur les caractères déjà présents dans les fichiers que tu ouvres.
Hors ligne
#12 Le 25/10/2016, à 14:19
- ar barzh paour
Re : [Résolu] codage caractère via libre office
dans mon post #4 j'ai écrit
quand même pour mémoire , les caractères "Apostrophe" existant dans le fichier restent codés E2 80 99 , seuls les nouvelles saisies sont codées 27
c'est peut-être cela que tu veux dire
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#13 Le 25/10/2016, à 14:27
- pingouinux
Re : [Résolu] codage caractère via libre office
dans mon post #4 j'ai écrit
quand même pour mémoire , les caractères "Apostrophe" existant dans le fichier restent codés E2 80 99 , seuls les nouvelles saisies sont codées 27
c'est peut-être cela que tu veux dire
Oui, quand la case Remplacement n'est pas cochée.
Ce qui est déjà dans le fichier lors de l'ouverture n'est pas touché. Seules les nouvelles frappes tiennent compte de l'option de remplacement en cours.
Hors ligne
#14 Le 25/10/2016, à 21:06
- Compte anonymisé
Re : [Résolu] codage caractère via libre office
Oui, l'autocorrection corrige que ce qu'on écrit pas ce qu'il est déjà écrit.
Après tu peux corriger les caractères déjà existant avec un simple rechercher & remplacer du menu édition.
Tu copies le caractère qui pose problème et tu le colles dans le champ rechercher puis tu met le bon caractère dans le champ remplacer par