IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

? à la place des é


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut ? à la place des é
    Bonjour,

    mon site internet est passé du jour au lendemain avec des ? à la place des accents.

    J'ai contacté mon hébergeur qui dit que la version de php à changé. On est passé de PHP5.5 à PHP5.6.

    Il m'a indiqué le lien suivant : http://j-willette.developpez.com/tut...-site-en-utf8/

    Ma page d'accueil (index.php) est bien dans les normes. Le fichier index.php est bien encodé en utf-8 et j'ai bien la balise suivante :

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

    Je ne comprends d'où vient le problème...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Les accents viennent d'une base de données ou bien sont-ils écrit dans le fichier .php ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Salut,

    je viens de régler la partie fichier php. Maintenant ce sont les informations qui viennent de la base de données qui me posent soucis...
    En ce qui concerne les fichiers, au lieu de faire "encoder en UTF-8" via notepad++, j'ai fais "Convertir en UTF-8".

    Pour la base de données je n'ai pas encore trouvé...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    De quel SGDB s'agit-il ?
    Dans le lien que tu as donné il y a les explications pour mysql.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    salut,
    effectivement, je suis sur Mysql. Je vais voir du côté base de données.

    Merci.

  6. #6
    Membre du Club
    Femme Profil pro
    Presque retraitée
    Inscrit en
    Septembre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Presque retraitée
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2008
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    Bonjour,

    J'ai eu, moi aussi ce problème que j'ai réglé en ajoutant, dans mon fichier de configuration (où j'ai mis mes données de connexion à ma bdd) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SET NAMES 'utf8'");

  7. #7
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    C'est vraiment bizarre, ce qu'il se passe...
    Je suis en PDO, j'ai donc ajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
    Ca fonctionne sauf pour ma dernière ligne...

    J'ai regardé dans ma base de donné et en fait les accents sont carrément dans ma base de donnée pour cette dernière ligne uniquement. Cela veut peut-être die que cette dernière ligne à été ajouté après le changement de version. Donc ça veut dire que quand les futurs internautes vont s'inscrire, je vais avoir des accents dans ma bases de données... J'ai phpmydmin et je ne sais pas quelle option permet de rétablir cela. Est-ce que je droip droper ma base et tout recharger ou est-il possible de le faire online ?

  8. #8
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    je viens de m'apercevoir que j'ai une erreur encore plus grave :

    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '?ais, espagnol, autres, valide from flatforswap_adherent where id_adh='920' and ' at line 1' in /home/flatforswap/public_html/profiladh.php:332 Stack trace: #0 /home/flatforswap/public_html/profiladh.php(332): PDOStatement->execute(Array) #1 {main} thrown in /home/flatforswap/public_html/profiladh.php on line 332
    c'est à ce niveau...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(!$admin){
    $sqlb = $db->prepare("select id_vil, anglais, français, espagnol, autres, valide from flatforswap_adherent where id_adh=? and valide=?");
    $sqlb->execute(array($id, "2"));
    }
    je ne sais pas ce qui me provoque cette erreur...

    quand je retire le code suivant de connect.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
    je n'ai plus le message d'erreur mais j'ai les accents qui réapparaissent... Je tourne en rond en fait...

  9. #9
    Membre du Club
    Femme Profil pro
    Presque retraitée
    Inscrit en
    Septembre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Presque retraitée
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2008
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    Là, je ne pourrais pas vous aider car je ne connais rien en PDO...
    Vous pourrez peut-être trouver une réponse concernant l'utilisation en PDO de "SET NAMES 'utf8'" en faisant une recherche sur Google.

    Quant à votre message d'alerte, d"après ce que je comprends, vous avez une erreur de syntaxe à la ligne 332 de votre fichier "profiladh.php"...

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est une mauvaise idée de mettre un "ç" dans un nom de colonne. Renomme ta colonne en "francais".

    Au passage c'est aussi sûrement une mauvaise idée d'avoir des langues en colonne dans une table.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    d'accord avec toi, mais j'ai toujours le problème...
    Une autre chose bizarre : Avec notepad++, lorsque je met en utf-8 (sans BOM), il se remet tout le temps en AINSI...
    même en faisant convertir...

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ca m'etonnerait qu'en renommant ta colonne et ta requête tu es toujours une erreur indiquant "?ais, espagnol,"
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Ok, il va falloir que je modifie quelques fichiers alors...
    Et renommer une colonne Sans supprimer les données. Faut que je vois si c'est faisable.

  14. #14
    Membre du Club
    Femme Profil pro
    Presque retraitée
    Inscrit en
    Septembre 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Presque retraitée
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2008
    Messages : 75
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par sam01 Voir le message
    ...Et renommer une colonne Sans supprimer les données. Faut que je vois si c'est faisable.
    Pour renommer la colonne, c'est simple : il suffit d'aller sur phpMyAdmin (via ton hébergement), de sélectionner la table concernée et, via l'onglet "structure", de modifier le titre de la colonne...

  15. #15
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Merci patriciaprovence.

    Je vous tiens au courant.

  16. #16
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Bonne nouvelle. Tout fonctionne dorénavant.
    Merci encore pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Mettre des <li> a la place des retour chariot depuis B
    Par Death83 dans le forum Langage
    Réponses: 19
    Dernier message: 20/01/2006, 01h28
  2. Affichage caractère "?" à la place des caractères
    Par ulysse49 dans le forum Débuter
    Réponses: 2
    Dernier message: 16/12/2005, 18h58
  3. Place des tables de dimention dans un outil ETL
    Par ilyassou dans le forum Alimentation
    Réponses: 2
    Dernier message: 21/08/2005, 13h38
  4. [JSP][Tomcat] COmment choisir la place des fichiers .class?
    Par mathieu dans le forum Tomcat et TomEE
    Réponses: 16
    Dernier message: 03/03/2004, 09h24
  5. Place des autodidactes sur le marché du travail
    Par Argh! dans le forum Emploi
    Réponses: 21
    Dernier message: 24/05/2003, 22h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo