Hello Alvaro,

On 12/24/06, Alvaro Herrera <[EMAIL PROTECTED]> wrote:
Alexander Farber wrote:
> I started to prepare a test case and realized I had a bug.
> So convert() works for me, sorry for my previous message!

In any case, it's probably saner if you SET client_encoding at the start
of the session instead of using convert() everywhere.  The
server_encoding should be correctly set to Win1251 though!  (Using
SQL_ASCII, while not technically incorrect, is probably not doing you
any favor).

thanks for your comment! I've dropped my db
and recreated it with encoding set to WIN1251:

pref:afarber> psql
Welcome to psql 8.1.4, the PostgreSQL interactive terminal.
.....
phpbb=> \l+
                       List of databases
  Name    |    Owner    | Encoding  |        Description
-----------+-------------+-----------+---------------------------
phpbb     | _postgresql | WIN1251   |
postgres  | _postgresql | SQL_ASCII |
template0 | _postgresql | SQL_ASCII |
template1 | _postgresql | SQL_ASCII | Default template database
(4 rows)

phpbb=> show client_encoding;
client_encoding
-----------------
WIN1251
(1 row)

Seems to work ok... My prepared query seems to work too:

#define SQL_FETCH_USER          \
   "select convert(username using windows_1251_to_utf8), " \
   "user_avatar from phpbb_users where user_active = 1 " \
   "and user_id = $1 and user_password = $2 and user_id not in " \
   "(select ban_userid from phpbb_banlist where ban_userid is not null)"

Regards
Alex


--
http://preferans.de

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to