PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Requêtes accentuées

Technique - optimisation | Requêtes accentuées

Par SangJun le 11/05/2007 - 14:29

Lorsque je lance une requête, qui contient des caractères accentués, par la fonction PQexec(conn, maRequete), je n'obtiens aucun résultat.

J'affiche maRequete par un printf, je la copie-colle sous pgAgmin III, j'ai des résultats.

Lorsque je n'utilise pas d'accents, tout va bien, seul les arguments accentués me causent des problèmes.

Y a-t-il un UpCase en PostGreSQL (si upcase(é) donne pour résultat E, ça devrait suffir)?

Merci de m'expliquer si vous avez déjà eu affaire à ce problème.

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Bonjour pourriez vous lanc

Christophe Chauvet/ = 11 Mai, 2007 - 15:47

Bonjour

pourriez vous lancer un SHOW client_encoding dans PgAdmin et dans votre programme.

Cordialement.

Christophe Chauvet
KrysKool.org


Merci, j'ai compris l'erreur,

SangJun/ = 11 Mai, 2007 - 16:46

Merci, j'ai compris l'erreur, le programme me renvoyé LATIN1, tandis que dans PgAdmin la réponse était UNICODE

Un simple :

strcpy(maRequete,"SET CLIENT_ENCODING TO \'UNICODE\'");
res = PQexec(conn,maRequete);
if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
fprintf(stderr, "failed: %s \n", PQerrorMessage(conn));
fprintf(stderr, "maRequete= %s \n", maRequete);
PQclear(res);
exit_nicely(conn);
}

PQclear(res);

m'a permis d'en venir à bout


© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.