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 hostdirectory .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 hostdirectory .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 hostdirectory .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.