#1 Le 27/05/2008, à 11:20
- Bzh
UTF-8 et insertion de données POST dans une BDD MySql
Bonjours,
Voila, je developpe un site completement en utf-8.
Donc :
->Les fichiers sont encodés en UTF8
->La balise META indique UTF-8
->L'entete HTTP qui indique UTF-8 est bien envoyé
->La bdd est bien en utf-8
Voila mon problème, lorsque j'affiche des données présent dans la base de donnée avec des acents, il n'y a aucun soucis, mais parcontre, si je souhaites insérer des données par un formulaire POST ayant des accents dans la base de donnée, les accents ne passent pas.
Avez-vous une idée ?
Hors ligne
#2 Le 27/05/2008, à 12:15
- Alain.g
Re : UTF-8 et insertion de données POST dans une BDD MySql
Bonjour
Configurer MYSQL pour l'UTF-8 :
http://doc.ubuntu-fr.org/mysql#configuration_en_utf-8
ou bien ajouter une requête SQL après la connexion à la base contenant l'instruction "SET NAMES utf8"
mysql_query("SET NAMES utf8");
Xubuntu Karmic !
Hors ligne
#3 Le 27/05/2008, à 13:10
- Bzh
Re : UTF-8 et insertion de données POST dans une BDD MySql
Oui, mais pourtant l'affichage des infos de la base de donnnée ne pause aucun problème.
C'est simplement lors de l'insertion dans la base de donnée que les accents passent mal.
Hors ligne
#4 Le 27/05/2008, à 14:27
- Alain.g
Re : UTF-8 et insertion de données POST dans une BDD MySql
SET NAMES sert justement à préciser avec quel jeu de caractères la communication se fera avec le serveur. En précisant que tu envoies des caractères codés en utf-8, le traitement se fera correctement.
Ce qui n'est pas nécessaire suivant la configuration de MySQL, c'est pourquoi je t'ai indiqué les deux solutions.
Dernière modification par Alain.g (Le 27/05/2008, à 14:27)
Xubuntu Karmic !
Hors ligne
#5 Le 27/05/2008, à 15:29
- Bzh
Re : UTF-8 et insertion de données POST dans une BDD MySql
Oui, la communication se fait très bien puisque l'affichage de caractères accentués se trouvant dans la base de donnée se passe très bien.
Si j'utilise SET NAMES, l'affichage n'est plus correct.
C'est juste lors de l'insertion dans la base de donnée que les caractères accentués ne passent pas !
Je comprend rien là...
Hors ligne
#6 Le 27/05/2008, à 15:33
- bwana147
Re : UTF-8 et insertion de données POST dans une BDD MySql
Et il y a bien un charset=UTF-8 dans la requête POST ?
Hors ligne
#7 Le 27/05/2008, à 15:45
- Alain.g
Re : UTF-8 et insertion de données POST dans une BDD MySql
Quand tu dis "l'affichage de caractères accentués se trouvant dans la base de donnée se passe très bien", tu parles de l'affichage via la page php ou via phpmyadmin (ou autre ?)
L'affichage des caractères est-il correct dans phpmyadmin ?
Xubuntu Karmic !
Hors ligne
#8 Le 27/05/2008, à 18:49
- Bzh
Re : UTF-8 et insertion de données POST dans une BDD MySql
L'affichage est correcte dans phpmyadmin ET dans ma page générée par PHP !
C'est bien ça le plus bizard ! L'affichage est nikel, c'est simplement l'insertion de donnée qui plante...
Peut on préciser UTF-8 pour un formulaire POST ? Car en effet, cela pourrait venir de là !
Quels sont les testes que je pourrais faire pour cibler le problème ?
Hors ligne
#9 Le 28/05/2008, à 10:19
- Bzh
Re : UTF-8 et insertion de données POST dans une BDD MySql
Personne n'a une petit idée ?
Hors ligne