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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP/mysql] - accents utf8 et base de données

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP/mysql] - accents utf8 et base de données

n°1958087
darxmurf
meow
Posté le 15-01-2010 à 09:50:30  profilanswer
 

Hello,
 
Ca fait un moment que je me bat avec un formulaire qui est enregistré dans une base mysql.
 
La page de formulaire est en UTF8 XHTML 1.0 strict etc.
La base de données est en UTF8_general (testé aussi avec latin1)
 
Le formulaire n'a qu'un champ.
 
Quand je rentre un mot avec des accents, il est mal affiché dans phpMyAdmin mais affiché correctement sur ma page.
 
Quand je fais le même forumlaire sur une page sans header, encoding, head, body etc le texte est visible correctement dans phpMyAdmin mais doit être passé dans une fonction pour s'afficher correctement sur mon site...
 
bref c'est un peu le foutoir j'ai l'impression la gestion des accents dans ces cas là [:paysan]
 
Dans ce genre de cas on part du principe qu'on s'en fout de l'affichage de phpMyAdmin ?


---------------
Des trucs - flickr
mood
Publicité
Posté le 15-01-2010 à 09:50:30  profilanswer
 

n°1958137
darxmurf
meow
Posté le 15-01-2010 à 11:23:14  profilanswer
 

bon je crois que j'ai compris le principe... une fois qu'on décide de bosser en tout utf8, il ne faut plus chercher à remplacer les é par des é etc etc...  
 
Quand au traitement d'une chaine avec accents, il suffisait juste de passer VIM en utf-8 et faire un str_replace("é", "e", $machaine);
 
vala vala...


---------------
Des trucs - flickr
n°1958148
romainboye​r
Posté le 15-01-2010 à 12:16:14  profilanswer
 

si, tu peux, mais tu dois convertir ta chaine en ISO, faire ton str_replace, et ensuite reconvertir ta chaine modifié en UTF-8 ;)

n°1958459
tityus
Posté le 17-01-2010 à 20:44:42  profilanswer
 

Si tu te lance dans un site en utf8 pense bien au header('Content-Type: text/html; charset=utf-8'); ainsi <meta content="text/html; Charset=UTF-8" http-equiv="Content-Type" /> et si jamais tu a quand même des soucis d'affichage utilise utf8_decode() et utf8_encode()

n°1958460
darxmurf
meow
Posté le 17-01-2010 à 21:01:13  profilanswer
 

ouaip :jap: merci
 
Je dois passer par utf8_encode() et ça fonctionne.
Par contre le truc louche c'est que tout ce qui vient de la base de données s'affiche avec des &eacute; etc... alors que je ne convertis rien [:paysan] et ma bdd est en utf8 aussi


---------------
Des trucs - flickr
n°1958461
tityus
Posté le 17-01-2010 à 21:19:37  profilanswer
 

Effectivement ça ne devrai pas mettre de &eacute; faudrait voir le code de ta page.

n°1958463
darxmurf
meow
Posté le 17-01-2010 à 21:32:09  profilanswer
 

rah le boulet, j'avais un htmlentities planqué dans une fonction :o


---------------
Des trucs - flickr
n°1958749
PierreC
Posté le 19-01-2010 à 14:15:32  profilanswer
 

certaine version de phpmyadmin s'ouffre avec utf8. Sur beaucoup des mes serveurs qui ont des pages et bases en UTF8 j'effectue cette manipulation :  
 
http://www.developpez.net/forums/m1222765-15/


---------------
Du tofu en Alsace : www.tofuhong.com

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

  [PHP/mysql] - accents utf8 et base de données

 

Sujets relatifs
CMS en PHP vs CMS en Python[SHELL] Connexion base DB2 + lancement requête dans fichier .sql
tester type de donnéesAppel panier PHP
Paypal et PHPRécupérer le dernier ID d'une table MySQL
[MySql] AGAINST () MATCH ()Deconnexion de Session PHP
Plus de sujets relatifs à : [PHP/mysql] - accents utf8 et base de données


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