[WEB] Problème d'accent et encodage

Résolu/Fermé
Crazy Legs Messages postés 635 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 27 septembre 2016 - 4 nov. 2011 à 05:49
Crazy Legs Messages postés 635 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 27 septembre 2016 - 6 nov. 2011 à 20:52
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 :)

A voir également:

5 réponses

Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
4 nov. 2011 à 10:01
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
Crazy Legs Messages postés 635 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 27 septembre 2016 98
4 nov. 2011 à 21:04
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.
0
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
6 nov. 2011 à 14:02
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
0
Crazy Legs Messages postés 635 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 27 septembre 2016 98
6 nov. 2011 à 19:18
Oui, j'ai mis les colonnes correspondantes en utf8-general-ci.
J'utilise phpMyAdmin.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Crazy Legs Messages postés 635 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 27 septembre 2016 98
Modifié par Crazy Legs le 6/11/2011 à 20:54
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.
0