Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/02/2011, 18h53   #1
 
Inscription : juin 2010
Messages : 39
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 39
Points : -1
Points : -1
Par défaut accent et mysql

Bonsoir.
J'ai des données avec accents qui s'affiche correctement dans ma base SQL (phpmyadmin).
Mais sur mon site, j'ai des � au lieu des accents. Pourtant dans base les é s'affiche bien

Exemple :
http://dj-kenconnor.com/index.php?page=comixsoiree.php

Mes pages sont bien écrites en UTF 8.
Pour l'interclassement, par défaut c'était "latin1_general_ci". J'ai essayé avec utf8_bin mais même résultat.
Je suis chez 1&1, pas moyen de mettre la main sur la partie admin. Ça viendrait du serveur ?
KenConnor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 18h56   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 465
Points : 8 465
t'utilises quelle extension mysql, mysqli ou PDO ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 18h58   #3
 
Inscription : juin 2010
Messages : 39
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 39
Points : -1
Points : -1
PDO
KenConnor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 19h00   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 465
Points : 8 465
Citation:
Envoyé par KenConnor Voir le message
PDO
t'as fait le SET NAMES en PDO::MYSQL_ATTR_INIT_COMMAND ou après ta connexion ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 19h03   #5
 
Inscription : juin 2010
Messages : 39
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 39
Points : -1
Points : -1
non, pour me connecter j'utilise ça

Code :
1
2
3
4
5
6
7
8
9
10
try  
      {
        $db = new PDO('mysql:host=***;dbname=***', '***', '**');
        $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); 
      }
 
      catch (Exception $e)
      {
      echo "echec :" .$e->getMessage();
      }
KenConnor est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 26/02/2011, 19h07   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 465
Points : 8 465
Citation:
Envoyé par KenConnor Voir le message
non, pour me connecter j'utilise ça
il faut faire :



Code :
1
2
3
4
5
6
7
8
9
10
11
try
{
    $driver_options = array(
                        PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'',
                        PDO::ATTR_CASE => PDO::CASE_LOWER));
    $db = new PDO('mysql:host=***;dbname=***', '***', '**', $driver_options);
}
catch (Exception $e)
{
    echo "echec :" .$e->getMessage();
}
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2011, 19h12   #7
 
Inscription : juin 2010
Messages : 39
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 39
Points : -1
Points : -1
impec ça marche nikel =)
merci beaucoup !
KenConnor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2011, 21h03   #8
 
Inscription : juin 2010
Messages : 39
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 39
Points : -1
Points : -1
J'aurais une petite question, est ce qu'il y aurais un moyen de "forcer" le navigateur internet a utilisé l'utf 8 ?
Des personnes venant sur mon site m'ont fait remarqué le problème des accents, alors que je pensais qu'il était résolu.. Je pense donc 'que l'encodage qu'utilisent ces personnes est l'iso
KenConnor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2011, 21h20   #9
Membre Expert
 
Inscription : septembre 2010
Messages : 1 239
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 239
Points : 1 561
Points : 1 561
Tu as résolu le problème des accents pour les données provenant de ta base mais pas nécessairement pour le reste.
Essaies de mettre
Code :
header('Content-Type: text/html; charset=UTF-8');
en haut de tes pages php.
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2011, 21h21   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 465
Points : 8 465
il faut que ton serveur envoie les pages en utf-8 avec addDefaultCharset (pour apache), sinon il faut faire un header avec le content-type tout le temps, et bien mettre ta balise meta (ou charset) dans le HTML
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 11h24   #11
 
Inscription : juin 2010
Messages : 39
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 39
Points : -1
Points : -1
J'ai rajouté la ligne dans le fichier .htaccess mais ça ne change rien.

Par contre pour le header, ça a l'air de fonctionner


Merci beaucoup
KenConnor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h15.


 
 
 
 
Partenaires

Hébergement Web