Salut Titaii2.
Envoyé par
Titaii2
où au lieu d'y avoir "utf8-general-ci" j'ai mis "utf8-unicode-ci"
Non. C'est plutôt l'absence de collation qui peut poser un problème.
La plupart du temps, les problèmes d'accents dans un document HTML / PHP viennent soit :
--> d'une mauvaise codification de ce fichier lors de sa sauvegarde ==> notepad++ / onglet encodage / convertir UTF8 (sans bom).
--> l'oubli de la balise "meta-charset" (celle que j'ai donné dans mon précédent message).
--> l'oubli de la balise header si vous êtes en php. Je n'utilise pas cette balise dans mes script php et je n'ai aucun problème avec les accents.
Ensuite, il y a les déclaratives à faire lors de la connexion à votre base de données.
Si vous faites un accès à MySql en PDO, ne pas oublier de mettre ceci :
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
C'est en général cet oubli qui provoque des problèmes avec les accents qu'en on récupère des données venant de MySql.
Je crois que c'est ce que vous avez fait !
Normalement, il n'est pas nécessaire de mettre une déclarative au niveau d'apache, car vous utilisez déjà la balise "meta charset" dans le document html.
On peut le faire en apache, mais cela crée plus de problème quand on a des sites dans des charset différents.
Dans le fichier "my.ini", j'ai les déclaratives suivantes :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| [client]
# --------------- #
# Charset #
# --------------- #
default-character-set = utf8
[wampmysqld]
# --------------- #
# Charset #
# --------------- #
character-set-server = utf8
collation-server = utf8_general_ci
character-set-filesystem = utf8
init-connect = 'SET NAMES utf8 COLLATE utf8_general_ci;' |
Au niveau de la base de données, voici un exemple :
1 2 3
| CREATE DATABASE `base`
DEFAULT CHARACTER SET `utf8`
DEFAULT COLLATE `utf8_general_ci`; |
Au niveau de la table :
1 2 3
| ) ENGINE=InnoDB
DEFAULT CHARSET=`utf8` COLLATE=`utf8_general_ci`
ROW_FORMAT=COMPRESSED; |
La liste n'est pas exhaustive, car cela dépend aussi de ce que vous faites dans votre script php.
Envoyé par
Titaii2
Merci pour votre réponse en tout cas
Pas de quoi !
@+
Partager