Chargement...

Encodage


Encodage c'est quoi?

L'encodage est un jeu de caractères. Si deux documents s'échangent des données dans un encodage différent, il se peut que des caractères incorrectes s'affichent. Les plus utilisés en France sont l'encodage ISO-8859-1, ISO-8859-15 et UTF8.
ISO-8859-1Encodage Latin-1 / Europe occidentale
ISO-8859-15Encodage Latin-1 / Europe occidentale contient plus de caractère dont le symbole (€)
UTF8Pour faire simple cet encodage est le plus complet

UTF8

En 2013, plus de 75% des sites internet utilisent l'encodage utf8, par expérience, je peux vous conseiller de ne travailler qu'avec cet encodage.

Le problème de l'encodage c'est qu'il faut le spécifier à beaucoup d'endroits:

Au niveau d'apache dans .htaccess :
AddDefaultCharset UTF-8
Dans un fichier PHP:
<?php header('Content-Type:text/html;charset=utf-8'); ?>
Dans un fichier HTML:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
Pour changer l'encodage MySQL vous devez éditer le fichier /etc/my.cnf :
[mysqld]
#Set the default character set
default-character-set=utf8
#Set the default collation
default-collation=utf8_general_ci

Ajax

Il faut savoir que tous les retours ajax sont envoyés en UTF-8, si votre page est encodée dans un autre jeu de caractères vous devez soit changer l'encodage du script, soit indiquer un autre encodage en PHP, soit utiliser une fonction de traduction comme

utf8_decode() qui convertit une chaine encodé en UTF8 en ISO-8859-1 ou
utf8_encode() qui convertit une chaine encodé en ISO-8859-1 en UTF8.

Le problème de cette technique, c'est par exemple le caractère € qui n'est pas reconnu.


UNE QUESTION SUR L'ARTICLE?


CSSW Apprendre à créer son site web CSSW