Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
784 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème d'accent pour une requête php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème d'accent pour une requête php

n°1901334
spespam
Posté le 01-07-2009 à 23:58:56  profilanswer
 

Le sujet a été abordé plusieurs fois mais je n'ai pas trouvé la solution alors je poste.
 
J'ai une base de données php avec des tables en utf-8 pour mes petites annonces. J'ai fait une requête sur cette table pour sortir les dernières petites annonces insérées. ça marche, sauf que les accents ne sortent pas bien. J'ai des trucs du genre é.
 
Lorsque je change le charset de la page où j'affiche les résultats en utf-8 , cela s'affiche très bien sauf que... j'ai fait d'autres requêtes sur d'autres tables (autres que celles des petites annonces) sur la même page, et le fait de changer le charset en utf-8 fait que les autres résultats s'affichent mal.  
 
Du coup, j'ai changé les tables des petites annonces en latin_swedish_ci (pour l'aligner sur les autres tables de ma BDD). Mais le problème persiste.
 
Le plus bizarre, c'est que dans la table petites annonces sous phpmyadmin, les é s'affichent en é, alors que dans les autres tables, les é s'affichent bien en é. Et toutes les tables sont maintenant en latin_swedish_ci
 
Si quelqu'un peut aider, je commence à tourner en rond.
 

mood
Publicité
Posté le 01-07-2009 à 23:58:56  profilanswer
 

n°1903590
deuspi
Posté le 08-07-2009 à 14:01:54  profilanswer
 

spespam a écrit :

Le sujet a été abordé plusieurs fois mais je n'ai pas trouvé la solution alors je poste.
 
J'ai une base de données php avec des tables en utf-8 pour mes petites annonces. J'ai fait une requête sur cette table pour sortir les dernières petites annonces insérées. ça marche, sauf que les accents ne sortent pas bien. J'ai des trucs du genre é.
 
Lorsque je change le charset de la page où j'affiche les résultats en utf-8 , cela s'affiche très bien sauf que... j'ai fait d'autres requêtes sur d'autres tables (autres que celles des petites annonces) sur la même page, et le fait de changer le charset en utf-8 fait que les autres résultats s'affichent mal.  
 
Du coup, j'ai changé les tables des petites annonces en latin_swedish_ci (pour l'aligner sur les autres tables de ma BDD). Mais le problème persiste.
 
Le plus bizarre, c'est que dans la table petites annonces sous phpmyadmin, les é s'affichent en é, alors que dans les autres tables, les é s'affichent bien en é. Et toutes les tables sont maintenant en latin_swedish_ci
 
Si quelqu'un peut aider, je commence à tourner en rond.
 


Salut,
 
- Pour les enregistrements de ta table petites annonces dont les accents sont mal encodés, je pense que ça vient du fait que tu as transformé la table en latin_swedish_ci après avoir créé ces données. Si tu les réenregistres sous phpmyadmin avec des accents normaux, ça devrait régler le problème
 
- Pour ton problème d'affichage sur ton site, assure-toi de l'encodage de ta page (tu n'en as pas parlé alors dans le doute je parle de cette solution) : tu peux le faire en mettant un tag "meta" dans la section "head"

Code :
  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


 
Par contre pour ne pas avoir de problème il faut également que tes fichiers soient enregistrés en UTF-8 et non en ISO
Le mieux est d'avoir le même encodage partout comme ça tu ne te poseras pas de question.
 
J'espère que tout ça va t'aider, dans le cas contraire donne davantage d'infos (lien vers ton site ?)
 
A+

n°1903648
spespam
Posté le 08-07-2009 à 15:19:45  profilanswer
 

Je crois que t'as pas bien compris mon problème.
 
Je répète donc l'essentiel :
 
Lorsque je change le charset de la page où j'affiche les résultats en utf-8, cela s'affiche très bien sauf que... j'ai fait d'autres requêtes sur d'autres tables (autres que celles des petites annonces) sur la même page, et le fait de changer le charset en utf-8 fait que les autres résultats s'affichent mal.  
 
Du coup, j'ai changé les tables des petites annonces en latin_swedish_ci (pour l'aligner sur les autres tables de ma BDD). Mais le problème persiste.
 
Le plus bizarre, c'est que dans la table petites annonces sous phpmyadmin, les é s'affichent en é, alors que dans les autres tables, les é s'affichent bien en é. Et toutes les tables sont maintenant en latin_swedish_ci

n°1903954
Pascal le ​nain
Posté le 09-07-2009 à 10:35:48  profilanswer
 

J'ai l'habitude de faire mes pages avec iso-8859-1, qui est top pour les accents.
Mais tu peux bosser en UTF-8.  
Met toutes tes pages en UTF-8 ainsi que ta base de données.
Pour chaque enregistrement dans la base de données, utilise la fonction htmlentities.
 
$var = htmlentities($var, ENT_NOQUOTES, 'UTF-8')
 
(tu peux aussi ajouter un paramètre supplémentaire "true" si tu ne veux pas que les script html soient convertis aussi)
 
Il faut traiter les données de cette manière a chaque fois que quelqu'un ajoute une entrée dans la base.
Tu peux aussi faire un petit script php pour traiter toutes les données déjà existantes dans la base...
 
Mais comme a dit deuspi, essaye d'uniformiser tous tes charset. Quels qu'ils soient, utilise le même pour toutes tes pages et pour toutes tes bases de données.  
Ca t'évitera bien des soucis.


Message édité par Pascal le nain le 09-07-2009 à 10:44:24
n°1903981
spespam
Posté le 09-07-2009 à 11:36:12  profilanswer
 

Oui je voulais tout uniformiser en ISO parce que 95% du site est en ISO. Je vais voir.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème d'accent pour une requête php

 

Sujets relatifs
Requete SQL sous informix[Visual C++] Problème conversion System::String ^ et structure
Problème Requête MysqlProbleme calcul : conditions
Petit problème de structure / chaine de caractèreProblème php5.2.10 E_STRICT
Problème installation joomla chez free[RESOLU] Problème étrange avec le Main
Problème accent dans requete sqlrequete sql probleme avec accent é
Plus de sujets relatifs à : Problème d'accent pour une requête php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR