Vous n'êtes pas identifié(e).
Pages : 1
Bonsoir...
Ma log 'vomit' toutes les 5 secondes environ, des messages de type :
2011-02-09 16:29:05 CET;DatabaseA;WARNING: nonstandard use of \' in a string literal at character 1075
2011-02-09 16:29:05 CET;DatabaseA;HINT: Use '' to write quotes in strings, or use the escape string syntax (E'...').
ce midi alors qu'il n'y avait pas de transaction active (toutes en IDLE) sur le serveur, la log continuait à cracher ces deux lignes...
Qu'est-ce que cela peut bien vouloir dire ?
Avec vous une idée ?
Hors ligne
C'est lié à 'escape_string_warning'
http://docs.postgresql.fr/9.0/runtime-c … tible.html
Marc.
Hors ligne
Merci je vais le escape_string_warning à off ...
mais ce que je n'arrive pas à comprendre c'est qu'il crache quand même alors qu'apparemment, il n'y a pas de thread actifs ...
Bizarre hein ?
Hors ligne
Non, c'est que les threads sont actifs, mais que vous ne le voyez pas. Les requêtes les plus courtes durent habituellement dans les 20µs. Vous ne les verrez jamais se produire.
Marc.
Hors ligne
Merci Marc...
Hors ligne
Bonjour à tous...
j'ai aussi ce genre de message dans ma log :
2011-02-10 11:19:01 CET;databaseA;ERROR: character 0xe38090 of encoding "UTF8" has no equivalent in "LATIN1"
2011-02-10 11:19:01 CET;databaseA;ERROR: character 0xe282ac of encoding "UTF8" has no equivalent in "LATIN1"
2011-02-10 11:19:02 CET;databaseA;ERROR: character 0xe2808f of encoding "UTF8" has no equivalent in "LATIN1"
2011-02-10 11:19:02 CET;databaseA;ERROR: character 0xc593 of encoding "UTF8" has no equivalent in "LATIN1"
Qu'est-ce que cela veut dire et comment trouver l'encodage de ma database (j'ai recherché sur postgrès.conf et je n'ai pas trouvé, à part les lc_messages, lc_monetary, lc_numeric et lc_time qui ont la valeur : en_US.UTF-8)..
Pouvez-vous m'expliquer ?
Hors ligne
Il suffit de faire psql -l pour obtenir la liste des bases et de leur encoding. C'est aussi affiché dans les propriétés de la base, dans pgadmin.
Marc.
Hors ligne
Merci Marc...
effectivement ma base est encodée en 'LATIN1'...
N'aurait-il pas été plus judicieux par exemple de créer la database en LATIN9 (LATIN1 avec euro et les accents !) ?
car visiblement elle n'arrive pas à comprendre tous les caractères du client...
Comment puis-je voir ce que veut dire : 0xe38090 ?
Merci d'avance...
Hors ligne
Tout dépend de votre système. Si ce dernier n'a pas le support de l'encodage latin9, vous ne pouvez pas le faire. De toute façon, le mieux reste UTF-8.
Guillaume.
Hors ligne
Le plus efficace aurait été de créer la base en UTF8. Comme ça pas de risque de ne pas pouvoir stocker quelque chose dans la base.
Sinon le caractère unicode représenté, je n'ai pas réussi à trouver ce que ça peut bien être. On dirait un caractère réservé mais non alloué pour le moment. Bref ça sent le bug côté client (de toutes façons c'est souvent louche quand il y a plus de deux octets, pour une langue européenne).
Marc.
Hors ligne
Pages : 1