Convertir son site ou sa base de données

etoile9430 Messages postés 534 Statut Membre -  
 sogipe -
Bonjour,
j'ai un site en PHP encoder en UTF-8 et j'ai un probléme avec les caractères quand j'écris par exemple "très" dans mon formulaire dans ma base de donné je vois "trés" et quand je récupère les valeurs qui son dans ma base de données je vois toujours "trés" j'aimerai savoir si je doit changer le formatage de mes pages ou c'est plutôt ma base de données ?
cordialement
A voir également:

2 réponses

Utilisateur anonyme
 
Salut, je sais que défois ça n'a pas le même comportement en ligne et en local. J'avais passé des heures à chercher en local et quans je l'ai mis en ligne tout était ok.

si utf-8 ne passe pas essaye comme ça :

<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 

/* ou alors celui là  */

<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1"/>


0
etoile9430 Messages postés 534 Statut Membre 19
 
merci grâce à ça ça va mieux
quand je tape par exemple "très" dans mon formulaire, je trouve ça "très" dans ma base de données et lorsque je récupère la valeur sur mon site je revois "très"
une petite et dernier question est-ce que c'est normal?
0
Utilisateur anonyme
 
alors là tu me pose une colle :/ et quand je sais pas, je préfère ne rien dire....
0
Ysabe_l Messages postés 13230 Statut Contributeur 277
 
J'ai pas compris ta question là tu es en train de dire que si tu écris "très" c'est bien ce que tu lis partout ensuite, donc oui ça semble logique puisque tu as résolu le soucis. D'ailleurs si ça a marché en mettant le second code donné c'est que ta base de données était en latin-1 et la page en utf-8, quitte à faire un changement dans un des deux il me semble qu'il est mieux de tout mettre en utf8.
0
etoile9430 Messages postés 534 Statut Membre 19
 
Ysabe_l je me suis trompé quand je tape par exemple "très" dans mon formulaire, je trouve ça "trés" dans ma base de données et lorsque je récupère la valeur sur mon site je revois "très"
0
Ysabe_l Messages postés 13230 Statut Contributeur 277
 
Ah oui je me disais aussi c'est plus "logique" comme ça.

Tu as mis quoi finalement comme encodage sur la page ? Et ta base de données elle est en quel encodage ?
0
sogipe
 
Pour ma part, j'utilise ce qu'il y à par défaut pour mysql : latin1_swedish_ci.
Ensuite dans mes pages :
<meta content="Content-Type: text/html; charset=iso-8859-1">


Mais depuis que j'ai appris que ce n'était pas bon pour la vitesse et donc le référencement, j'envoie le charset dans l'en tête (header) avec php :
header('Content-Type: text/html; charset=iso-8859-1');


Après dans php les fonctions utf8_decode et utf8_encode vont te permettre de décoder ce que tu reçois si c'est de l'utf8, et encoder pour l'envoi... Je m'en servais beaucoup pendant un temps car je développais des applis avec javascript, et je devais toujours décoder, encoder, ...

Je sais pas si ça t'a aidé, mais c'est tout ce que je sais
0