PHP accents s'affiche et d'autre non..??
Fermé
Pascal_22
Messages postés
534
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
29 août 2014
-
31 août 2012 à 20:03
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 7 sept. 2012 à 01:32
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 7 sept. 2012 à 01:32
A voir également:
- PHP accents s'affiche et d'autre non..??
- Easy php - Télécharger - Divers Web & Internet
- Le clavier de mon telephone ne s'affiche plus - Guide
- Faites en sorte que la cellule a1 affiche exactement ce qui est montré sur cette image. quel mot apparaît en b1 ? - Forum Excel
- Anniversaire facebook ne s'affiche pas ✓ - Forum Facebook
7 réponses
Elsyfiryos
Messages postés
83
Date d'inscription
dimanche 25 avril 2010
Statut
Membre
Dernière intervention
12 septembre 2012
11
3 sept. 2012 à 03:02
3 sept. 2012 à 03:02
Salut
lorsque tu utilise la PDO:
Bien sur, si tu ne travail pas en local, utilise les bon logs pour la BDD :).
lorsque tu utilise la PDO:
$hote = 'localhost'; $nom_bd = 'mabdd'; $utilisateur= 'root' $mdp= ''; $bdd = new PDO('mysql:host='.$hote.';dbname='.$nom_bd, $utilisateur, $mdp, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
Bien sur, si tu ne travail pas en local, utilise les bon logs pour la BDD :).
rjl
Messages postés
543
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
25 mai 2019
49
31 août 2012 à 23:08
31 août 2012 à 23:08
Bonsoir Pascal,
Je ne suis pas trop doué mais, il faut se lancer !
En premier lieu, travaille tu en UTF-8 ou en ISO-8859-1 ?
Je te conseille UTF-8 plus porteur.
Dans tes pages HTML, commence par ajouter un meta, style : <meta charset="UTF-8"> dans le Head.
Dans un programme comme Notepad++, vérifie l'encodage : encodes en UTF-8 (sans BOM).
Si tu as une base de données, style MySQL, assures toi que les champs texte (Structure) sont bien en UTF-8 (par exemple utf8_unicode_ci).
Enfin, en dernier recours (que je connaisse), reste mb_internal_encoding("utf-8") en PHP mais j'en connais mal l'impact et aussi utf8_decode().
Bonne chance ça peut solutionner tes problèmes mais, il faudra peut-être que quelqu'un d'autre te secoure si c'est trop sévère.
@+ RJL2831
Je ne suis pas trop doué mais, il faut se lancer !
En premier lieu, travaille tu en UTF-8 ou en ISO-8859-1 ?
Je te conseille UTF-8 plus porteur.
Dans tes pages HTML, commence par ajouter un meta, style : <meta charset="UTF-8"> dans le Head.
Dans un programme comme Notepad++, vérifie l'encodage : encodes en UTF-8 (sans BOM).
Si tu as une base de données, style MySQL, assures toi que les champs texte (Structure) sont bien en UTF-8 (par exemple utf8_unicode_ci).
Enfin, en dernier recours (que je connaisse), reste mb_internal_encoding("utf-8") en PHP mais j'en connais mal l'impact et aussi utf8_decode().
Bonne chance ça peut solutionner tes problèmes mais, il faudra peut-être que quelqu'un d'autre te secoure si c'est trop sévère.
@+ RJL2831
Et il manque encore l'indication à mysql de travailler en utf8. La façon de le faire dépend de si tu utilises PDO ou pas.
Mais si tu as commencé à bricoler ta base sans trop savoir ce que tu faisais, qu'une partie est déjà encodée en utf-8 et l'autre non, il va bien falloir bricoler encore pour remettre tout le monde d'accord
Mais si tu as commencé à bricoler ta base sans trop savoir ce que tu faisais, qu'une partie est déjà encodée en utf-8 et l'autre non, il va bien falloir bricoler encore pour remettre tout le monde d'accord
Pascal_22
Messages postés
534
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
29 août 2014
54
6 sept. 2012 à 19:12
6 sept. 2012 à 19:12
Wow merci pour les bonnes infos...
Oui, j'ai bel et bien <meta charset="UTF-8"> dans ma head.
En suite je n'utilise pas la PDO..... y a t'il un avantage a l'utiliser.. je connais pas!
Aussi je ne savais pas qu'on pouvait modifier l'encodage de notepad++... c'est notepad++ que j'utilise,
Tout mes champs sont en latin1_swedish....
cela cause tu problème!!
MErci de votre réponse!!
PAscal
Oui, j'ai bel et bien <meta charset="UTF-8"> dans ma head.
En suite je n'utilise pas la PDO..... y a t'il un avantage a l'utiliser.. je connais pas!
Aussi je ne savais pas qu'on pouvait modifier l'encodage de notepad++... c'est notepad++ que j'utilise,
Tout mes champs sont en latin1_swedish....
cela cause tu problème!!
MErci de votre réponse!!
PAscal
Utilisateur anonyme
6 sept. 2012 à 22:12
6 sept. 2012 à 22:12
<meta charset="UTF-8">
est incompatible avec
Tout mes champs sont en latin1_swedish
Étudie les avantages et les inconvénients des deux encodages et fais ton choix, mais n'essaye pas de mélanger les deux.
UTF-8 est infiniment plus riche, mais un peu plus délicat à mettre en oeuvre, les fonctions de base de php ne sont pas faites pour et il faut toujours penser à utiliser les fonctions spécialement adaptées, ou à mettre le paramètre optionnel dont on se passe quand on fait tout en latin (ISO).
En ce qui concerne le PDO, oui, c'est mieux, ça peut aider à éviter des erreurs et à gagner en efficacité dans l'exécution d'un script.
est incompatible avec
Tout mes champs sont en latin1_swedish
Étudie les avantages et les inconvénients des deux encodages et fais ton choix, mais n'essaye pas de mélanger les deux.
UTF-8 est infiniment plus riche, mais un peu plus délicat à mettre en oeuvre, les fonctions de base de php ne sont pas faites pour et il faut toujours penser à utiliser les fonctions spécialement adaptées, ou à mettre le paramètre optionnel dont on se passe quand on fait tout en latin (ISO).
En ce qui concerne le PDO, oui, c'est mieux, ça peut aider à éviter des erreurs et à gagner en efficacité dans l'exécution d'un script.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pascal_22
Messages postés
534
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
29 août 2014
54
6 sept. 2012 à 22:17
6 sept. 2012 à 22:17
Ok merci pour les infos...
cependant... moi de mon coté, je préfère UTF8...
Je ait quoi pour les champs... je me connect sur phpmyadmin et j'édite tous les champs de mes table(oulala il en a gros) et je met utf8....?
Dois-je faire une manoeauvre avant de faire cela? et pour mon text déjà dans les champs...... ca va t'il déranger...? les accent et tout seront t'il correct?
MErci!!
PAscal
cependant... moi de mon coté, je préfère UTF8...
Je ait quoi pour les champs... je me connect sur phpmyadmin et j'édite tous les champs de mes table(oulala il en a gros) et je met utf8....?
Dois-je faire une manoeauvre avant de faire cela? et pour mon text déjà dans les champs...... ca va t'il déranger...? les accent et tout seront t'il correct?
MErci!!
PAscal
Utilisateur anonyme
6 sept. 2012 à 22:47
6 sept. 2012 à 22:47
Dans notepad++, fait bien attention à enregistrer tes fichiers en utf8 SANS BOM
Il faut mettre toutes tes tables et leurs champs en utf-8, par exemple utf8_general_ci
Suis les indications données par rjl
Aussitôt après la connexion à la base de données, ajoute un mysql_query ("SET NAMES 'UTF8'");
Utilise partout les fonctions mb_string (mb_strlen, mb_substr ...) au lieu des fonctions simples (strlen, substr...) pour manipuler les chaînes
Je ne sais pas ce qui va se passer quand tu vas changer les collation de tes tables dans mysql, pas évident que ça se passe bien pour les caractères non ASCII...
Il faut mettre toutes tes tables et leurs champs en utf-8, par exemple utf8_general_ci
Suis les indications données par rjl
Aussitôt après la connexion à la base de données, ajoute un mysql_query ("SET NAMES 'UTF8'");
Utilise partout les fonctions mb_string (mb_strlen, mb_substr ...) au lieu des fonctions simples (strlen, substr...) pour manipuler les chaînes
Je ne sais pas ce qui va se passer quand tu vas changer les collation de tes tables dans mysql, pas évident que ça se passe bien pour les caractères non ASCII...
Pascal_22
Messages postés
534
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
29 août 2014
54
6 sept. 2012 à 22:58
6 sept. 2012 à 22:58
wow ok!!! je vais faire le test dans une bd test!!!!
pour les mb_strlen...
C'est qu'il converti les accent html en leur équivalent---> é en é
est-ce ça?
MErci et bonne soirée!
PAscal
pour les mb_strlen...
C'est qu'il converti les accent html en leur équivalent---> é en é
est-ce ça?
MErci et bonne soirée!
PAscal
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
7 sept. 2012 à 01:32
7 sept. 2012 à 01:32
Salut, on peut savoir pourquoi tu migre vers l'utf-8, parce qu'il faut quand même une bonne raison !!!