Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/07/2007, 15h37   #1
Membre régulier
 
Avatar de ashurai
 
Inscription : juillet 2004
Messages : 144
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2004
Messages : 144
Points : 88
Points : 88
Par défaut Postgres 8.1 - Problème d'encodage (?)

Bonjour à tous,

J'ai un problème probablement du à une histoire d'encodage de caractères, mais je n'arrives pas a le cibler plus que ca

Le contexte :

J'ai donc un base postgreSql 8.1, encodé en LATIN 9.

A coté de ca, j'execute un script php (apelé en Ajax), qui viens intégrer des données dans une table.

Le charset de ma page HTML est bien déclaré en iso-8859-15.

Le problème :

Si j'essai d'insérer un enregistrement avec un accent (ex : "succés"), il va m'intégrer "succés"... Ce qui est impressionant, c'est qu'au retour, via la page HTML, je vois bien "succés"..

Autre point, j'ai fais exporter la requête dans un fichier à part, et le "é" est bien un "é"... Quand j'execute cette requete manuellement via un pgAdmin, je retrouve bien "succés" d'insérer...

Je tourne en rond

Quelqu'un aurait t'il une idée ?

Merci d'avance a ceux qui essaieront de m'aider
ashurai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2007, 17h33   #2
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 490
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mai 2004
Messages : 4 490
Points : 5 049
Points : 5 049
Bonjour,

la chaîne qui est insérée dans ta base est encodée en UTF-8, ce qui explique cet affichage. Pour qu'elle soit dans un encodage correct, il faut que la chaîne remontée par le parseur soit décodée avec utf8_decode().

Par contre, l'encodage de sortie des utf8_decode() est de l'ISO-8859-1, soit Latin 1. Je ne pense que ça ait une grosse répercussion, mais attention tout de même...
__________________
FAQ XML
------------
« Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
Giacomo Leopardi
GrandFather est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2007, 17h43   #3
Membre régulier
 
Avatar de ashurai
 
Inscription : juillet 2004
Messages : 144
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2004
Messages : 144
Points : 88
Points : 88
Super ca marche...

Pas trop compris car dans ma page HTML j'ai bien ceci :

Code :
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
En tous cas, problème résolu. Bravo et merci a toi !
ashurai est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h01.


 
 
 
 
Partenaires

Hébergement Web