# [localisation] variable locale UTF-8 (résolu)

## alcorel

Bonjour à tous,

Je reviens encore une fois avec un problème de configuration :/

en fait, j'ai beau suivre le guide de localisation, je suis incapable d'utiliser UTF-8.

j'ai vérifier le kernel

```
File systems --->

 Native Language Support --->

   (utf8) Default NLS Option
```

```
/etc/rc.conf

UNICODE=yes
```

```

USE="nls"
```

générer la variable utf-8

```
# localedef -c -f UTF-8 -i fr_FR fr_FR.UTF-8

 # locale-gen

 * Generating 3 locales (this might take a while) with 1 jobs

 *  (1/3) Generating fr_FR.ISO-8859-1 ... [ ok ]

 *  (2/3) Generating fr_FR.ISO-8859-15@euro ... [ ok ]

 *  (3/3) Generating fr_FR.UTF-8 ... [ ok ]

 * Generation complete 

```

choisi la variable uft-8 avec eselect

```
# eselect locale list

Available targets for the LANG variable:

  [1]   C

  [2]   français

  [3]   french

  [4]   fr_FR

  [5]   fr_FR@euro

  [6]   fr_FR.iso88591

  [7]   fr_FR.iso885915@euro

  [8]   fr_FR.utf8

  [9]   POSIX

  [10]  fr_FR.UTF-8 *

  [ ]   (free form)

# eselect locale set 10

Setting LANG to fr_FR.UTF-8 ...
```

```

env-update && source /etc/profile
```

 et là, loacle -a ne trouve pas la variable UTF-8

```
# locale -a

C

français

french

fr_FR

fr_FR@euro

fr_FR.iso88591

fr_FR.iso885915@euro

fr_FR.utf8

POSIX

```

du coup, j'ai beau renseigner 02locale avec UTF-8, rien n'y fait, je reste en fr_FR@euro

```
# locale

LANG=fr_FR@euro

LC_CTYPE="fr_FR@euro"

LC_NUMERIC="fr_FR@euro"

LC_TIME="fr_FR@euro"

LC_COLLATE="fr_FR@euro"

LC_MONETARY="fr_FR@euro"

LC_MESSAGES="fr_FR@euro"

LC_PAPER="fr_FR@euro"

LC_NAME="fr_FR@euro"

LC_ADDRESS="fr_FR@euro"

LC_TELEPHONE="fr_FR@euro"

LC_MEASUREMENT="fr_FR@euro"

LC_IDENTIFICATION="fr_FR@euro"

LC_ALL=fr_FR@euro
```

voila, voila, rien de grave en soi mais si vous avez une idée...  :Smile: 

alcorelLast edited by alcorel on Mon Nov 25, 2013 7:31 am; edited 1 time in total

----------

## Poussin

Tu as quoi exactement dans ton /etc/env.d/02locale ?

Vérifie aussi que ton .bashrc ne contient pas une surcharge quelque part.

Si ta commande "locale" est faite depuis un terminal dans une session X, tente de le faire dans un des tty directement pour voir si c'est la même chose;

----------

## alcorel

Salut!

Merci pour ta réponse! .

Je n'ai aucune variable dans .bashrc et la commande locale en tty me renvoie la même chose que sous X :/

du coup j'ai remodifier /etc/locale.gen pour ne laisser que fr_FR.UTF-8 UTF-8 refait locale-gen.

```
# eselect locale list

/bin/bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR@euro)

/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory

/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory

/usr/bin/locale: Cannot set LC_COLLATE to default locale: No such file or directory

Available targets for the LANG variable:

  [1]   C

  [2]   POSIX

  [3]   fr_FR.utf8 *

  [ ]   (free form)
```

```
/etc/env.d/02locale

LANG="fr_FR.utf8"
```

----------

## alcorel

Bon, je sais pas du tout ce qu'il s'est passé... 

j'ai rebooteé la machine avec la config cité plus haut, j'ai eu tout un bazare au boot avec fr_FR@euro puis le systeme s'est mis en anglais.

J'ai remodifier /etc/locale.gen pour remettre fr_FR@euro, remis 02locale comme hier pour continué à chercher 

```
/etc/env.d/02locale

LANG="fr_FR.UTF-8"

LANGUAGE="fr_FR.UTF-8"

LC_ALL="fr_FR.UTF-8"

LC_MONETARY="fr_FR.UTF-8"

LC_MESSAGES="fr_FR.UTF-8"

LC_PAPER="fr_FR.UTF-8"

LC_NAME="fr_FR.UTF-8"

LC_ADDRESS="fr_FR.UTF-8"

LC_TELEPHONE="fr_FR.UTF-8"

LC_MEASUREMENT="fr_FR.UTF-8"

LC_IDENTIFICATION="fr_FR.UTF-8"
```

reboot encore une fois et là:

```
locale

LANG=fr_FR.UTF-8

LC_CTYPE="fr_FR.UTF-8"

LC_NUMERIC="fr_FR.UTF-8"

LC_TIME="fr_FR.UTF-8"

LC_COLLATE="fr_FR.UTF-8"

LC_MONETARY="fr_FR.UTF-8"

LC_MESSAGES="fr_FR.UTF-8"

LC_PAPER="fr_FR.UTF-8"

LC_NAME="fr_FR.UTF-8"

LC_ADDRESS="fr_FR.UTF-8"

LC_TELEPHONE="fr_FR.UTF-8"

LC_MEASUREMENT="fr_FR.UTF-8"

LC_IDENTIFICATION="fr_FR.UTF-8"

LC_ALL=fr_FR.UTF-8
```

Bref, résolu mais j'ai rien capté!

----------

