En attendant, ça marche et c'est le principal !
Le jury devant lequel je vais passer n'en tiendra sûrement pas compte...
Les variables ne sont pas encodées en UTF-8.
Je vais juste les ré-encoder avec mb_convert_encoding($maVar, 'UTF-8').
L'insertion fonctionne !
Merci Marc !
]]>=> Pouvez-vous vérifier leur encodage ? (en les envoyant dans un fichier, et en faisant 'file' dessus puisque vous semblez être sous Linux)
]]>INSERT INTO contact VALUES(
defautl,
'leNomDuContact',
'lePrénomDuContact',
etc...
);
Le problème survient dès que j'essaie d'insérer un Nom ou Prénom avec un caractère accentué, sinon, pas de problème.
]]>C'est quoi l'ordre SQL exact ?
]]>J'avoue ne pas comprendre...
]]>Bon, trêve de plaisanteries…
- Quel est l'encodage client quand est exécutée la requête ? (afficher dans le code PHP le résultat de la commande SQL 'SHOW client_encoding;'
- Quel est l'encodage du fichier PHP ? (on peut certainement obtenir l'information avec l'éditeur de fichier, mais ça dépend du système d'exploitation et de l'éditeur, évidemment)
J'ai un petit problème lourd de conséquences : il m'est impossible d'insérer dans mes tables des caractères accentués via la fonction PHP pg_query().
Le retour de pg_last_error() m'indique :" ERREUR: séquence d'octets invalide pour l'encodage « UTF8 » : 0xe9272c HINT: Cette erreur peut aussi survenir si la séquence d'octets ne correspond pas au jeu de caractères attendu par le serveur, le jeu étant contrôlé par « client_encoding »."
Message d'erreur assez semblable à une discussion dans ce même topic, mais rien n'y fait !
Cependant avec phpPgAdmin et psql, il m'est tout à fait possible d'insérer ces caractères spéciaux...
Donc bon, je ne sais pas si c'est mon code php qui foire, ou le serveur qui pédale.
Je vous remercie d'avance .
]]>