Outils pour utilisateurs

Outils du site


tech:caractere_speciaux_unicode_utf8

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tech:caractere_speciaux_unicode_utf8 [2025/03/24 15:06] – créée - modification externe 127.0.0.1tech:caractere_speciaux_unicode_utf8 [2025/11/21 12:07] (Version actuelle) Jean-Baptiste
Ligne 1: Ligne 1:
 +<!DOCTYPE markdown>
 {{tag>Encodage}} {{tag>Encodage}}
  
-Caractère spéciaux Unicode / UTF8+Caractère spéciaux Unicode / UTF8
  
 Voir : Voir :
-* [[table_caractere_speciaux_unicode_utf8]]+  * [[table_caractere_speciaux_unicode_utf8]] 
 +  * [[sed_suppression_caracteres_non_ascii|Supprimer les caractères non imprimables]] 
 + 
 +Voir aussi : 
 +  * ''convmv'' 
 +  * ''textconv'' 
  
 Sous ouindoze il suffit de maintenir la touche **Alt** puis de taper le code ASCII Étendu en décimal avec le pavé numérique.  Sous ouindoze il suffit de maintenir la touche **Alt** puis de taper le code ASCII Étendu en décimal avec le pavé numérique. 
Ligne 24: Ligne 31:
 Par exemple pour le symbole coché : Par exemple pour le symbole coché :
  
-''Ctrl + Shift + U'' +''Ctrl + Shift + U''   
-Puis 2713 +Puis 2713   
-Done: ✓+Donne: ✓
  
-''Ctrl + Shift + U'' +''Ctrl + Shift + U''   
-Puis 2717 +Puis 2717   
-Done : ✗+Donne : ✗
  
-[[https://fr.wikipedia.org/wiki/Coche_%28typographie%29]]+https://fr.wikipedia.org/wiki/Coche_%28typographie%29
  
-[[https://en.wikipedia.org/wiki/Unicode_input]]+https://en.wikipedia.org/wiki/Unicode_input
  
-[[https://fr.wikipedia.org/wiki/Aide:Caract%C3%A8res_sp%C3%A9ciaux_probl%C3%A9matiques]]+https://fr.wikipedia.org/wiki/Aide:Caract%C3%A8res_sp%C3%A9ciaux_probl%C3%A9matiques
  
-[[http://michal.kosmulski.org/computing/articles/linux-unicode.html]]+http://michal.kosmulski.org/computing/articles/linux-unicode.html
  
-== Pb 
  
-=== Pb si certains caractères unicode sous Debian ne sont pas afficher correctement+## Pb 
 + 
 +### Pb si certains caractères unicode sous Debian ne sont pas afficher correctement
  
 Solution Solution
-<code bash>+~~~bash
 apt-get install unifont apt-get install unifont
-</code>+~~~
  
-=== Avec l'interface graphique+### Avec l'interface graphique
  
-Sinon en outil graphique il existe [[http://doc.ubuntu-fr.org/gucharmap|Gucharmap]]+Sinon en outil graphique il existe [Gucharmap](http://doc.ubuntu-fr.org/gucharmap)
  
-<code bash>+~~~bash
 apt-get install gucharmap apt-get install gucharmap
-</code>+~~~
  
-=== Pb 'ascii' codec can't encode character+ 
 +### Pb 'ascii' codec can't encode character
  
 Non 7-Bit ASCII Non 7-Bit ASCII
  
-<code>+~~~
 ERROR keystone.common.wsgi UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 27: ordinal not in range(128) ERROR keystone.common.wsgi UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 27: ordinal not in range(128)
-</code>+~~~
  
-<code bash>+~~~bash
 printf '\ue9' |grep -P '\xe9' printf '\ue9' |grep -P '\xe9'
 #grep '\\C3\\A9' #grep '\\C3\\A9'
-</code>+~~~
  
  
-=== Pb vim characters "[0m|"+### Pb vim characters "[0m|"
  
 How to remove "**[0m|**" ? \\ How to remove "**[0m|**" ? \\
Ligne 77: Ligne 86:
  
 Try  Try 
-<code bash>+~~~bash
 env LC_ALL=en_US.UTF-8 vim README.md env LC_ALL=en_US.UTF-8 vim README.md
 # LC_ALL=C.UTF-8 # LC_ALL=C.UTF-8
-</code>+~~~
  
 Ou Ou
-<code bash>+~~~bash
 export LANG=en_US.UTF-8 export LANG=en_US.UTF-8
 export LANGUAGE=en_US:en export LANGUAGE=en_US:en
Ligne 99: Ligne 108:
 export LC_IDENTIFICATION="en_US.UTF-8" export LC_IDENTIFICATION="en_US.UTF-8"
 export LC_ALL= export LC_ALL=
-</code>+~~~
  
  
-=== Autres 
  
-<code bash>+## CRLF 
 + 
 +https://docs.ansible.com/projects/ansible/latest/dev_guide/testing/sanity/line-endings.html 
 + 
 +All files must use ''\n'' for line endings instead of ''\r\n'' 
 + 
 + 
 + 
 +### Autres 
 + 
 +''/usr/bin/isutf8'' 
 + 
 +~~~bash
 mv App.ini.j2 App.ini.j2.bak mv App.ini.j2 App.ini.j2.bak
 +# iconv -f iso-8859-1 -t utf-8 App.ini.j2.bak > App.ini.j2
 iconv -f iso-8859-15 -t utf-8 App.ini.j2.bak > App.ini.j2 iconv -f iso-8859-15 -t utf-8 App.ini.j2.bak > App.ini.j2
-</code>+ 
 +# convmv -f iso-8859-1 -t utf8 DIR 
 +# convmv -f iso-8859-15 -t utf8 DIR 
 +~~~
  
 Exemple Exemple
-<code ->+~~~
 install.sh:4:22: invalid UTF-8 encoding install.sh:4:22: invalid UTF-8 encoding
 iconv -f iso-8859-15 -t utf-8 install.sh > install2.sh iconv -f iso-8859-15 -t utf-8 install.sh > install2.sh
-</code>+~~~
  
-<code bash>+~~~bash
 iconv -f utf-8 -t ascii//TRANSLIT README.md > README2.md iconv -f utf-8 -t ascii//TRANSLIT README.md > README2.md
-</code>+~~~
  
-==== Pb hGetContents: invalid argument (invalid byte sequence) 
  
-<code ->+ 
 +#### Pb hGetContents: invalid argument (invalid byte sequence) 
 + 
 +~~~
 $ shellcheck plop.sh $ shellcheck plop.sh
 plop.sh: plop.sh: hGetContents: invalid argument (invalid byte sequence) plop.sh: plop.sh: hGetContents: invalid argument (invalid byte sequence)
Ligne 132: Ligne 158:
  
 $ iconv -f iso-8859-1 -t utf-8 plop.sh > plop2.sh $ iconv -f iso-8859-1 -t utf-8 plop.sh > plop2.sh
-</code>+~~~ 
 + 
 + 
 +~~~ 
 +$ file plop* 
 +plop1.tcl: Unicode text, UTF-8 text, with CRLF line terminators 
 +plop2.tcl: Unicode text, UTF-8 text 
 + 
 + 
 +$ dos2unix plop1.tcl 
 +$ dos2unix plop2.tcl 
 +$ file plop* 
 +plop1.tcl:                      ISO-8859 text 
 +plop2.tcl: ISO-8859 text 
 +~~~ 
 + 
 +~~~bash 
 +diff <(cat -A plop.yml) <(cat plop.yml |sed -e 's/$/$/g' ) 
 +~~~ 
 + 
 + 
 +## Autres 
 + 
 + 
 +Source : https://www.reddit.com/r/git/comments/r8xbbs/nonutf8_file_and_commit_verbose_messing_up_the/?tl=fr 
 + 
 +### Idée #1 
 + 
 +Adoptez une approche radicalement différente : modifiez le fichier en UTF-8, suivez-le dans Git en UTF-8, mais demandez à votre outil de build de le convertir en ISO-8859-1 afin que la machine Windows puisse l'utiliser. 
 + 
 +Unicode contient tous les caractères ISO-8859-1 en tant que points de code :  
 +https://en.wikipedia.org/wiki/ISO/IEC_8859-1 
 + 
 + Je pense que cela signifie que tous les caractères ISO-8859-1 ont un équivalent exact en Unicode, vous devriez donc pouvoir représenter parfaitement les fichiers ISO-8859-1. 
 + 
 +Cela suppose que vous n'utilisez pas un outil Windows pour le modifier, mais si c'est le cas, vous pouvez effectuer une conversion bidirectionnelle. Et cela suppose également que vous avez un outil de build et qu'il peut gérer cela 
 + 
 +### Idée #2 
 + 
 +Configurez des filtres smudge et clean https://git-scm.com/docs/gitattributes#_filter (pour ce fichier) pour convertir UTF-8 en ISO-8859-1 lors du checkout et vice versa lors de la mise en scène/validation. Maintenant, votre copie de travail est en ISO-8859-1, mais Git la suit en UTF-8. C'est plus automatique, mais peut-être un peu plus sujet aux erreurs car (je pense) il doit être correctement configuré dans chaque référentiel. De plus, le fait que cela résolve réellement votre problème dépendrait de la façon dont git diff fonctionne avec les filtres. Si tout est nettoyé (en UTF-8 dans votre cas) avant la comparaison, il semble que cela résoudrait ce problème.  
 + 
  
  
tech/caractere_speciaux_unicode_utf8.1742825205.txt.gz · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki