# [Accents] Problème d'accents dans les noms de fichier

## Pol

Bonjour,

J'ai mis à jour une distribution gentoo datant d'un an et j'ai des problèmes lors de la création de fichier avec accents... voyez vous même...

```

[09:35:56][pol@wolverine]

[~]$ mkdir coin

[09:36:01][pol@wolverine]

[~]$ cd coin

[09:36:03][pol@wolverine]

[~/coin]$ ls

[09:36:04][pol@wolverine]

[~/coin]$ touch fichier_avec_accent_éééé.txt

[09:36:17][pol@wolverine]

[~/coin]$ ls

fichier_avec_accent_????.txt

[09:36:18][pol@wolverine]

[~/coin]$ ll

total 0

-rw-r--r-- 1 pol users 0 2007-07-19 09:36 fichier_avec_accent_????.txt

[09:36:22][pol@wolverine]

[~/coin]$

```

Tout les fichiers avec accents apparaissent avec des ? dans KDE et en console.

Mon système est entierrement en UTF-8, j'ai bien suivi le guide...

Qqun à t'il déjà eu le problème ?

----------

## xaviermiller

Salut,

Jouant avec différents systèmes de fichiers, j'évite cela en choisissant des noms de fichiers compatibles avec le minimum requis : pas d'espace, juste des lettres et chiffres, tiret, souligné, point (l'espace est parfois toléré).

Sinon, dans quel système de fichier est cette partition ? Si c'est FAT32/NTFS, est-elle en 1252 ou UTF-8 ? Mets un maximum de codepages dans la configuration du kernel.

----------

## Pol

elle est sur du EXT3...

Voila la ligne correspondante dans le fichier /etc/fstab:

```

/dev/hda1               /               ext3            acl,noatime             0 0

```

J'ai activé les NLS en dur:

```

[~]$ cat /usr/src/linux/.config | grep -i nls

CONFIG_UDF_NLS=y

CONFIG_SMB_NLS_DEFAULT=y

CONFIG_SMB_NLS_REMOTE="cp437"

CONFIG_NLS=y

CONFIG_NLS_DEFAULT="utf8"

CONFIG_NLS_CODEPAGE_437=y

# CONFIG_NLS_CODEPAGE_737 is not set

# CONFIG_NLS_CODEPAGE_775 is not set

CONFIG_NLS_CODEPAGE_850=y

# CONFIG_NLS_CODEPAGE_852 is not set

# CONFIG_NLS_CODEPAGE_855 is not set

# CONFIG_NLS_CODEPAGE_857 is not set

# CONFIG_NLS_CODEPAGE_860 is not set

# CONFIG_NLS_CODEPAGE_861 is not set

# CONFIG_NLS_CODEPAGE_862 is not set

# CONFIG_NLS_CODEPAGE_863 is not set

# CONFIG_NLS_CODEPAGE_864 is not set

# CONFIG_NLS_CODEPAGE_865 is not set

# CONFIG_NLS_CODEPAGE_866 is not set

# CONFIG_NLS_CODEPAGE_869 is not set

# CONFIG_NLS_CODEPAGE_936 is not set

# CONFIG_NLS_CODEPAGE_950 is not set

# CONFIG_NLS_CODEPAGE_932 is not set

# CONFIG_NLS_CODEPAGE_949 is not set

# CONFIG_NLS_CODEPAGE_874 is not set

# CONFIG_NLS_ISO8859_8 is not set

# CONFIG_NLS_CODEPAGE_1250 is not set

# CONFIG_NLS_CODEPAGE_1251 is not set

CONFIG_NLS_ASCII=y

CONFIG_NLS_ISO8859_1=y

# CONFIG_NLS_ISO8859_2 is not set

# CONFIG_NLS_ISO8859_3 is not set

# CONFIG_NLS_ISO8859_4 is not set

# CONFIG_NLS_ISO8859_5 is not set

# CONFIG_NLS_ISO8859_6 is not set

# CONFIG_NLS_ISO8859_7 is not set

# CONFIG_NLS_ISO8859_9 is not set

# CONFIG_NLS_ISO8859_13 is not set

# CONFIG_NLS_ISO8859_14 is not set

CONFIG_NLS_ISO8859_15=y

# CONFIG_NLS_KOI8_R is not set

# CONFIG_NLS_KOI8_U is not set

CONFIG_NLS_UTF8=y

[09:46:57][pol@wolverine]

[~]$                         

```

et l'output de la commande locale:

```

[09:46:57][pol@wolverine]

[~]$ locale

LANG=en_US.utf8

LC_CTYPE="en_US.utf8"

LC_NUMERIC="en_US.utf8"

LC_TIME="en_US.utf8"

LC_COLLATE="en_US.utf8"

LC_MONETARY="en_US.utf8"

LC_MESSAGES="en_US.utf8"

LC_PAPER="en_US.utf8"

LC_NAME="en_US.utf8"

LC_ADDRESS="en_US.utf8"

LC_TELEPHONE="en_US.utf8"

LC_MEASUREMENT="en_US.utf8"

LC_IDENTIFICATION="en_US.utf8"

LC_ALL=

[09:47:44][pol@wolverine]

[~]$                                     

```

----------

## xaviermiller

NLS est juste pour les systèmes Microsoft, pas ext3.

Sinon, que se passe-t-il avec des nouveaux fichiers ? Sont-il bien encodés ?

Dans ce cas, suis le guide UTF-8 pour convertir les anciens fichiers.

----------

## Pol

Ben lorsque je crée un fichier avec des accents, encore actuellement, il ne me les affiche pas dans KDE ni en console...

Je ne comprend pas... sur mon portable j'ai aucun problème, tandis que sur mon PC fixe, ca merde  :Sad: 

----------

## xaviermiller

Essaie de comparer tes deux machines au niveau de /etc et du kernel.

Vérifie dans quel LANG est lancée ta session graphique (peut-être pas UTF-8).

----------

## Pol

Un truc bizarre, lorsque je redémarre le service keymaps sur le portable j'ai ceci:

```

localhost init.d # /etc/init.d/keymaps restart

 * Service keymaps stopping

 * WARNING:  you are stopping a boot service.

 * Service consolefont stopping

 * WARNING:  you are stopping a boot service.

 * Service consolefont stopped

 * Service keymaps stopped

 * Service keymaps starting

 * Loading key mappings ...                                                                                                              [ ok ]

 * Setting terminal encoding to UTF-8 ...                                                                                             [ ok ]

 * Service keymaps started

 * Service consolefont starting

 * Service consolefont started

```

```

localhost init.d # grep -i unicode /etc/rc.conf

# UNICODE specifies whether you want to have UNICODE support in the console.

# If you set to yes, please make sure to set a UNICODE aware CONSOLEFONT and

UNICODE="yes"

localhost init.d #                              

```

Et sur la machine qui pose problème:

```

wolverine init.d # /etc/init.d/keymaps restart

 * Caching service dependencies ...                                                                                   [ ok ]

 * Service keymaps stopping

 * WARNING:  you are stopping a boot service.

 * Service consolefont stopping

 * WARNING:  you are stopping a boot service.

 * Service consolefont stopped

 * Service keymaps stopped

 * Service keymaps starting

 * Service keymaps started

 * Service consolefont starting

 * Service consolefont started

wolverine init.d #

```

```

wolverine init.d # grep -i unicode /etc/rc.conf

# UNICODE specifies whether you want to have UNICODE support in the console.

# If you set to yes, please make sure to set a UNICODE aware CONSOLEFONT and

UNICODE="yes"

```

C'est très bizarre, j'ai meme mis les memes clavier (/etc/conf.d/keymaps) sur les 2 machines, je ne parviens pas à avoir la ligne:

```

 * Setting terminal encoding to UTF-8 ...                                                      [ ok ]

```

Qqun à une idée?

----------

## xaviermiller

bon, c'est juste pour le terminal, pas sous X, mais bon...

as-tu vérifié /etc/conf.d/keymaps ? (ou keyboard)

et pas d'option dans /etc/fstab ?

----------

## Pol

Voici les fichiers demandé...

/etc/conf.d/keymaps

```

# /etc/conf.d/keymaps

# Use KEYMAP to specify the default console keymap.  There is a complete tree

# of keymaps in /usr/share/keymaps to choose from.

KEYMAP="be-latin1"

# Should we first load the 'windowkeys' console keymap?  Most x86 users will

# say "yes" here.  Note that non-x86 users should leave it as "no".

SET_WINDOWKEYS="no"

# The maps to load for extended keyboards.  Most users will leave this as is.

EXTENDED_KEYMAPS=""

#EXTENDED_KEYMAPS="backspace keypad euro"

# Tell dumpkeys(1) to interpret character action codes to be

# from the specified character set.

# This only matters if you set UNICODE="yes" in /etc/rc.conf.

# For a list of valid sets, run `dumpkeys --help`

DUMPKEYS_CHARSET=""

#DUMPKEYS_CHARSET="iso-8859-15"

```

/etc/cond.d/consolefont

```

# /etc/conf.d/consolefont

# CONSOLEFONT specifies the default font that you'd like Linux to use on the

# console.  You can find a good selection of fonts in /usr/share/consolefonts;

# you shouldn't specify the trailing ".psf.gz", just the font name below.

# To use the default console font, comment out the CONSOLEFONT setting below.

# This setting is used by the /etc/init.d/consolefont script (NOTE: if you do

# not want to use it, run "rc-update del consolefont" as root).

CONSOLEFONT="ter-v16b"

#CONSOLEFONT="lat9w-16"

# CONSOLETRANSLATION is the charset map file to use.  Leave commented to use

# the default one.  Have a look in /usr/share/consoletrans for a selection of

# map files you can use.

#CONSOLETRANSLATION="8859-1_to_uni"

```

Je n'ai plus d'idée, j'essaie de décortiquer le fichier /etc/init.d/keymaps pour voir comment il va chercher la variable ${UNICODE}...

----------

## polytan

essaie avec :

```
KEYMAP="be-latin1 -u"
```

----------

## Pol

meme chose...

----------

## Viannoche

 *Quote:*   

> 
> 
> Tout les fichiers avec accents apparaissent avec des ? dans KDE et en console.
> 
> 

 

Je veux être certain de bien comprendre alors je pose mes questions bêtes...

Tu parles de la console de KDE ? Tu as le mème phénomène hors environnement graphique ?

As tu généré tes locales ?

----------

