Modifications entre les versions 10 et 13 (s'étendant sur 3 versions)
Version 10 à la date du 2008-10-22 09:15:29
Taille: 3005
Commentaire: nos systèmes de fichiers sont en UTF-8 !
Version 13 à la date du 2009-02-14 00:30:42
Taille: 3570
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 14: Ligne 14:
<<Anchor(mysql)>>
Ligne 29: Ligne 30:
Ligne 30: Ligne 32:
#bind-address = 0.0.0.0
Ligne 31: Ligne 35:
# log_bin = /var/log/mysql/mysql-bin.log
Ligne 42: Ligne 47:
 * relancer ensuite le service MySQL avec :
 {{{
$ sudo invoke-rc.d mysql restart
}}}

<<Anchor(apache)>>
Ligne 47: Ligne 58:
Ligne 53: Ligne 65:
Ligne 60: Ligne 73:
 * vérifier la configuration puis relancer le service Apache avec :
 {{{
$ sudo apache2ctl configtest
$ sudo apache2ctl graceful
}}}

<<Anchor(python)>>
Ligne 67: Ligne 87:
<<Anchor(php)>>
Ligne 84: Ligne 105:
 * vérifier la configuration puis relancer le service Apache avec :
 {{{
$ sudo apache2ctl configtest
$ sudo apache2ctl graceful
}}}

<<Anchor(smokeping)>>
Ligne 91: Ligne 119:
<<Anchor(ocs)>>

Ce document présente les configurations à effectuer pour être compatible avec Unicode.

/!\ Attention : passer à Unicode ne se fait pas sur un coup de tête ! Il y a des implications à presque tous les niveaux et une mauvaise mise en place entraînerait au mieux des accents mal affichés et au pire des corruptions de données (typiquement suite à des mixages d'encodages) !

Stratégie

...(reste à écrire)...

Configuration

/!\ Attention : l'ordre est important. En particulier : il faut installer les locales avant tout.

Environnement système

  • installer le paquet locales et choisir une locales UTF-8 par défaut (typiquement fr_FR.UTF-8).

MySQL ≥ 5.0

  • créer le fichier /etc/mysql/conf.d/local.cnf suivant :

    [client]
    default-character-set = utf8
    
    [mysqld]
    # par défaut du côté serveur
    default-character-set = utf8
    character-set-server = utf8
    
    # à exécuter pour tous les clients (indispensable pour PHP 4, au moins)
    init-connect = 'SET NAMES utf8'
    
    language = /usr/share/mysql/french
    
    bind-address = 127.0.0.1
    #bind-address = 0.0.0.0
    
    # log_slow_queries = /var/log/mysql/mysql-slow.log
    # log_bin = /var/log/mysql/mysql-bin.log
    
    [mysqldump]
    # est-ce vraiment utile ? *** À TESTER ***
    default-character-set = utf8
    
    [mysql]
    # par défaut du côté client (pour root, qui ne subit pas le init-connect)
    default-character-set = utf8
  • relancer ensuite le service MySQL avec :
    $ sudo invoke-rc.d mysql restart

Apache ≥ 2.0

  • activer le module MIME si ce n'est déjà fait :
    sudo a2enmod mime
  • directive globale à ajouter, par exemple, dans /etc/apache2/conf.d/charset :

    <IfModule mod_mime.c>
    AddDefaultCharset UTF-8
    </IfModule>
  • ajouter également pour les index de dossiers générés automatiquement :
    <IfModule mod_autoindex.c>
    IndexOptions Charset=UTF-8 
    </IfModule>
  • vérifier la configuration puis relancer le service Apache avec :
    $ sudo apache2ctl configtest
    $ sudo apache2ctl graceful

Python

  • directive locale à ajouter au début de chaque fichier :
       1 #!/usr/bin/env python
       2 # -*- coding: utf-8 -*-
    

PHP

  • directive globale à ajouter dans /etc/php4/apache2/php.ini :

    default_charset = "utf-8"
  • on a parfois besoin de ne l'activer que pour une seule arborescence, par exemple le temps d'une migration, auquel cas on utilisera une configuration Apache de ce genre :
    <Location /branche-latin1/>
      AddDefaultCharset iso-8859-1
      php_value default_charset 'iso-8859-1'
    </Location>
    <Location /branche-unicode/>
      AddDefaultCharset utf-8
      php_value default_charset 'utf-8'
    </Location>
  • vérifier la configuration puis relancer le service Apache avec :
    $ sudo apache2ctl configtest
    $ sudo apache2ctl graceful

SmokePing

  • directive globale à ajouter dans la section *** Presentation *** :

    template = /etc/smokeping/basepage.html
    charset = utf-8

OCS-Inventory

  • convertir le fichier de traduction en français de ISO-8859-1 vers UTF-8 :

    mv languages/french.txt languages/french.txt.orig
    iconv --from=ISO-8859-1 --to=UTF-8 languages/french.txt.orig > languages/french.txt
    sed -i '/^0 /s/iso-8859-1/utf-8/' languages/french.txt

Etude/Unicode (dernière édition le 2021-03-23 05:33:53 par JeanChristopheAndré)