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

PHP & Base de données Discussion :

Encodage UTF-8 [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de youtch
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 94
    Par défaut Encodage UTF-8
    J'ai un problème pour visualiser correctement les messages d'erreurs affichés sur une page HTML. Lorsque je fait une requête de type SELECT le jeu de caractère s'adapte bien, mais quand j'ai une erreur par exemple dans ma requête SQL le message inclu des caractères "inconnu" : les petits carrés... Je pense à un décalage entre mon jeu de caractère Unicode UTF-8. Mais cela m'étonne car l'affichage des données fonctionne super bien par ailleurs.
    J'ai déclaré dans mes page PHP le charset que je veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header('Content-type: text/html; charset=UTF-8');
    , dans l'ouverture de la connexion à la Base je précise que je veux de l'unicode également :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    	$_SESSION['id_mysql_c']=mysql_connect( $Bdd_url,$id,$pswd ); 
     
    	mysql_select_db($Bdd_nom);
     
    	mysql_set_charset ("utf8" , $_SESSION['id_mysql_c']);
     
     
     
    	if (!isset($_SESSION['Bdd_nom'])) // Utile à Reglages.php
     
    	{	
     
    		$_SESSION['Bdd_nom']=$Bdd_nom;
     
    	}

  2. #2
    Membre expérimenté
    Inscrit en
    Mai 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 177
    Par défaut
    Il y a deux fonctions que tu peux utiliser pour correctement faire afficher tes caractères:
    utf8_encode()
    utf8_decode()
    Tu peux utiliser ces fonctions quand tu vas afficher quelque chose de la façon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo utf8_encode("éàô");
    echo utf8_decode("éàô");
    On s'entend que ce qu'il y a entre guillemet dans l'exemple ci-dessus peut être aussi bien une variable qu'une chaîne littérale. Donc voilà, j'espère que ça va pouvoir t'être utile

    Osu

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    les erreurs de mysql ne sont pas en utf8, donc t'es obligé de les décoder

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

Discussions similaires

  1. [DOM] Encodage UTF-8 dans fichier XML et PHP
    Par norkius dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 03/01/2007, 15h44
  2. Problème d'affichage avec encodage utf-8
    Par t-die dans le forum Zend
    Réponses: 3
    Dernier message: 04/12/2006, 14h55
  3. [C# 2.0] Comment réaliser un encodage UTF-8 ?
    Par StormimOn dans le forum C#
    Réponses: 2
    Dernier message: 18/10/2006, 10h35
  4. Pb Encodage UTF-8 pour Ooo
    Par Sylvain James dans le forum XMLRAD
    Réponses: 10
    Dernier message: 08/03/2006, 22h28
  5. [WebForms] Encodage, UTF-8 et accents
    Par alexischmit dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 28/04/2004, 12h21

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