mod_charset_lite
Spécifie dans quel jeu de caractère doivent s'effectuer les traductions ou les réencodages
Extension
mod_charset_lite.c
charset_lite_module

Le module mod_charset_lite permet au serveur de modifier le jeu de caractères des réponses avant de les envoyer aux clients. Dans un environnement EBCDIC, Apache traduit toujours les contenus au protocole HTTP (par exemples les en-têtes de réponses) de la page de code de la locale du processus Apache vers ISO-8859-1, mais pas le corps des réponses. Dans tous les environnements, on peut utiliser mod_charset_lite pour spécifier que les corps des réponses doivent être traduits. Par exemple, si les fichiers sont stockés sous forme EBCDIC, mod_charset_lite pourra les traduire en ISO-8859-1 avant de les envoyer au client.

Ce module fournit quelques procédés de configuration implémentés par Apache version russe, ainsi que son module `mod_charset` associé.

# Problèmes courants

## Noms de jeux de caractères non valides

Les noms des jeux de caractères passés en paramètres aux directives CharsetSourceEnc et CharsetDefault doivent être reconnus par le mécanisme de traduction utilisé par

APR
sur le système où mod_charset_lite est utilisé. Ces noms de jeux de caractères ne sont pas standardisés, et sont en général différents des valeurs qui leur correspondent dans les en-têtes HTTP. Actuellement, APR ne peut utiliser que iconv(3) ; vous pouvez donc tester facilement vos noms de jeux de caractères en utilisant le programme iconv(1), de la manière suivante :

iconv -f valeur-charsetsourceenc -t valeur-charsetdefault

## Incompatibilité entre le jeu de caractères du contenu et les règles de traduction

Si les règles de traduction ne peuvent s'appliquer au contenu, la traduction peut échouer avec des conséquences diverses, comme :

- Le mécanisme de traduction peut renvoyer un mauvais code de retour, et la connexion sera interrompue.
- Le mécanisme de traduction peut insérer silencieusement des caractères spéciaux (par exemple des points d'interrogation) dans le tampon de sortie lorsqu'il n'est pas en mesure de traduire le tampon d'entrée.

CharsetSourceEnc
Jeu de caractères source des fichiers
CharsetSourceEnc jeu de caractères
server config
virtual host
directory
.htaccess
FileInfo

La directive CharsetSourceEnc spécifie un jeu de caractères source pour les fichiers situés dans le conteneur associé.

La valeur de l'argument jeu de caractères doit être un nom de jeu de caractères valide du point de vue du support des jeux de caractères dans

APR
. En général, cela implique qu'elle doit être reconnue par iconv.

# Exemple

<Directory "/export/home/trawick/apacheinst/htdocs/convert"> CharsetSourceEnc UTF-16BE CharsetDefault ISO-8859-1 </Directory>

Les noms de jeux de caractères de cet exemple sont reconnus par le mécanisme de traduction d'iconv sous Solaris 8.

Spécifier le même jeu de caractères pour les deux directives CharsetSourceEnc et CharsetDefault désactive la traduction. Le jeu de caractères ne doit pas forcément correspondre au jeu de caractères de la réponse, mais il doit être valide du point de vue du système.

CharsetDefault
Jeu de caractère vers lequel la traduction doit s'effectuer
CharsetDefault jeu de caractères
server config
virtual host
directory
.htaccess
FileInfo

La directive CharsetDefault spécifie le jeu de caractères vers lequel le contenu situé dans le conteneur associé devra être traduit.

La valeur de l'argument jeu de caractères doit être un nom de jeu de caractères valide du point de vue du support des jeux de caractères dans

APR
. En général, cela implique qu'elle doit être reconnue par iconv.

# Exemple

<Directory "/export/home/trawick/apacheinst/htdocs/convert"> CharsetSourceEnc UTF-16BE CharsetDefault ISO-8859-1 </Directory>

Spécifier le même jeu de caractères pour les deux directives CharsetSourceEnc et CharsetDefault désactive la traduction. Le jeu de caractères ne doit pas forcément correspondre au jeu de caractères de la réponse, mais il doit être valide du point de vue du système.

CharsetOptions
Précise les détails de la traduction du jeu de caractères
CharsetOptions option [option] ...
CharsetOptions ImplicitAdd
server config
virtual host
directory
.htaccess
FileInfo

La directive CharsetOptions précise certains détails du comportement du module mod_charset_lite. Option accepte les valeurs suivantes :

`ImplicitAdd | NoImplicitAdd`
  Le mot-clé `ImplicitAdd` indique que mod_charset_lite doit insérer son filtre de manière implicite lorsque la configuration indique que le jeu de caractère du contenu doit être traduit. Si la chaîne de filtrage est configurée de manière explicite via la directive AddOutputFilter, l'option `NoImplicitAdd` doit être utilisée afin que mod_charset_lite n'ajoute pas son propre filtre.
`TranslateAllMimeTypes | NoTranslateAllMimeTypes`
  Normalement, mod_charset_lite n'effectuera une traduction qu'en présence d'un petit nombre de types MIME parmi tous les types possibles. Lorsque l'option `TranslateAllMimeTypes` est utilisée pour une section de configuration donnée, la traduction est effectuée sans se préoccuper du type MIME.