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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  PHP ou Mysql : problèmes d'encodage (accents)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP ou Mysql : problèmes d'encodage (accents)

n°1893706
-tinost@r-
Revers coupé
Posté le 10-06-2009 à 16:16:52  profilanswer
 

Bonjour,
 
je me cogne à un gros souci actuellement entre PHP et MySQL, et je n'arrive vraiment pas à trouver la source du problème.
 
Je developpe un projet avec Zend Framework.
 
Toutes les données que j'insère en base ont les accents qui s'affichent mal (je le vois via PhpMyAdmin).
J'ai bien précisé le charset en méta :
 

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


Ma base de données a l'interclassement par défaut :
 
 
 

Code :
  1. utf8_general_ci


 
 
et toutes mes tables ont cet interclassement.
 
Donc je ne vois pas ce qui peut causer ce problème...
 
Pour tester, j'ai appliqué la fonction utf8_decode($champs) sur les données avant les insertions... et là ça marche, les caractères s'affichent bien. Comme utf8_decode convertit les utf-8 en ISO, je me dis qu'il y a quelquechose qui cloche sur ma base MySQL.
 
edit: détail supplémentaire, même quand je passe un champs en latin1_swedish_ci, ça ne prends pas
Par exemple : Bérichon => Bérichon
 
Alors je comprends plus rien...
 
Merci d'avance pour votre aide.


Message édité par -tinost@r- le 10-06-2009 à 16:17:10
mood
Publicité
Posté le 10-06-2009 à 16:16:52  profilanswer
 

n°1893795
-tinost@r-
Revers coupé
Posté le 10-06-2009 à 18:27:33  profilanswer
 

Avant chaque requête, il faut spécifier à MySQL qu'on communique en UTF-8 avec lui. Avec la requête suivante :
 

Code :
  1. SET NAMES 'utf8'

n°2097653
tresorunik​in
Posté le 26-08-2011 à 11:59:31  profilanswer
 

ou juste après la première connexion à la base des données comme suite

Code :
  1. function DB_Connection($name_DB) {
  2. $bdd = $name_DB;
  3. mysql_connect(DB_HOST, USER_NAME,PASSE_WORD) or die("<b>Erreur serveur :</b>".mysql_error());
  4. mysql_select_db($bdd) or die("<b>Erreur de base de donnees :</b>".mysql_error());
  5. mysql_query("SET NAMES utf8" );
  6. }

n°2098086
rufo
Pas me confondre avec Lycos!
Posté le 29-08-2011 à 12:05:31  profilanswer
 

Ca peut se régler dans le fichier de conf de mysql aussi ;)
 
Regarde dans la doc des variables qui sont relatives au charset (tant pour la connexion que pour la collation.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2100551
ndouki
connaissance = partage
Posté le 09-09-2011 à 11:08:56  profilanswer
 

ce que tu dois faire c'est utiliser l'interclassement  
utf8_unicode_ci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  PHP ou Mysql : problèmes d'encodage (accents)

 

Sujets relatifs
[Resolu]API MYSQL erreur compilation[PHP] forcer actualisation après "page précédente" sur navigateur ?
Accents Cdontsimport/export data base mysql
PHP sous Eclipse, could not open the editor[PHP] Problème d'enregistrement en base
pbrobleme entre php et une base mysql free[AJAX/PHP] Executer du javascript provenant d'un php
[PHP] Besoin d'aide pour du code PHPinserer du PHP dans un fichier XSL
Plus de sujets relatifs à : PHP ou Mysql : problèmes d'encodage (accents)


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