[WEB] Problème d'accent et encodage [Résolu/Fermé]

Signaler
Messages postés
635
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
27 septembre 2016
-
Messages postés
635
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
27 septembre 2016
-
Bonjour, j'ai une page php qui se comporte bizarrement avec les accents.
J'ai mis dans l'entête tantôt les encodages utf-8 et ISO-8859-1, pourtant, il s'avère que dans un cas j'ai mon lien D?connexion et Privé est bien écrit. Si je passe à l'autre encodage c'est l'inverse, j'ai Déconnexion et privé.
Déconnexion se trouve dans un php externe (include) et est écrit par un echo et privé est écrit dans un formulaire en html dans la page même. Est-ce dû aux langages ?
Comment faire pour avoir les accents sans mettre de code spéciaux ?

Merci :)

5 réponses

Messages postés
146
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
23 mai 2012
6
Bonjour,

Il peut s'agir de l'encodage de la page elle-même, tout simplement

Essaye de les ouvrir avec Notepad ++, par exemple, puis d'aller dans Encodage -> Encoder en UTF-8 (c'est un exemple, si ça ne fonctionne pas, essaye éventuellement les autres encodage)
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
635
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
27 septembre 2016
96
Merci ça va mieux, mais maintenant quand je suis en utf-8 ou iso-8859-1 tout fonctionne sauf pour les textes récupérés par requête SQL. Sur notepad++ avant c'était en utf-8 (sans BOM) et je l'ai mis en utf-8.
Messages postés
146
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
23 mai 2012
6
Bonjour,

Si il s'agit des textes venant de ta base, il faut peut-être regarder l'encodage qui a été utilisé dans cette base, aussi.

Je ne sais pas quelle base tu utilise, mais je pense que lors de la définition d'une des colonnes d'une table, tu peux choisir la méthode d'encodage
Messages postés
635
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
27 septembre 2016
96
Oui, j'ai mis les colonnes correspondantes en utf8-general-ci.
J'utilise phpMyAdmin.
Messages postés
635
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
27 septembre 2016
96
Bonsoir, j'ai enfin trouvé la solution, en résumé voici ce que j'ai fait :

- Chaque fichier.php sont converti en UTF-8 (sans BOM) dans Notepad++

- Insertion de la balise :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


dans toutes les pages.

- Insertion de la requête :

mysql_query("SET NAMES 'utf8';");

après chaque connexion (mysql_connect())

- Dans phpMyAdmin, j'ai exécuter les requêtes suivantes :

alter table ta_table convert to character set 'latin1';  -- décodage  
alter table ta_table convert to character set 'binary';  -- neutralisation de l'encodage  
alter table ta_table convert to character set 'utf8';    -- définition de l'encodage.


(clic sur SQL)

- Dans chaque table, dans phpMyAdmin, je suis aller dans Structure, j'ai sélectionné les colonnes correspondantes, puis modifier, j'ai changé le VARBINARY en VARCHAR, j'ai ensuite renommé les champs car ils ont été altérés.

Ce sujet sur le site du zéro m'a beaucoup aidé :

https://openclassrooms.com/forum/sujet/interclassement-phpmyadmin-43979

Merci de m'avoir aidé :)
Problème résolu.
J'aide les personnes qui ont un problème dans certaines sections du forums.