Обсуждение: is there a default client encoding?

Поиск
Список
Период
Сортировка

is there a default client encoding?

От
Jaime Casanova
Дата:
Hi,

i wonder if the odbc driver is sending a default client_encoding to
the server. if so, what client_encoding? how can i determine it? if
not, how i know what client encoding my platform uses?

the question is because before i meet linux i never heard the term
encoding... windows does everything for you and hides all this littles
things (so when i start using the odbc driver in windows i never use
client_encoding command now i know that is why some client
applications got weird results ;). Well the point is in VB i can't
send arbitrary commands to the server so how i set it, is the odbc
doing it? can i change the encoding the odbc is sending?

--
regards,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

Re: is there a default client encoding?

От
Ludek Finstrle
Дата:
> i wonder if the odbc driver is sending a default client_encoding to
> the server. if so, what client_encoding? how can i determine it? if
> not, how i know what client encoding my platform uses?

psqlODBC tries to do it automatically for you. If you want see what
client_encoding is used enable mylog output and there is called
set client_encoding in the relative begin of mylog.

> applications got weird results ;). Well the point is in VB i can't
> send arbitrary commands to the server so how i set it, is the odbc
> doing it? can i change the encoding the odbc is sending?

The psqlODBC has strange behaviour. It set automatic client_encoding
_after_ user defined connection settings. So you could change the
client encoding only from application. You could call
set client_encoding SQL statement.

I hope I have answered you

Luf

Re: is there a default client encoding?

От
Jaime Casanova
Дата:
>
> I hope I have answered you
>
> Luf
>

yes... with a very good answer... i will look at the code to see how
psqlODBC tries to guess the encoding... thanx a lot...

--
regards,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

Re: is there a default client encoding?

От
Neil Best
Дата:


Ludek Finstrle-2 wrote:
>
>
> psqlODBC tries to do it automatically for you. If you want see what
> client_encoding is used enable mylog output and there is called
> set client_encoding in the relative begin of mylog.
>
> . . .
>
> The psqlODBC has strange behaviour. It set automatic client_encoding
> _after_ user defined connection settings. So you could change the
> client encoding only from application. You could call
> set client_encoding SQL statement.
>

Is this still how the driver behaves?  I don't see client_encoding
explicitly in mylog when I leave the Connection Settings input blank in the
ODBC configuration.  I have tried entering "set client_encoding = 'WIN874';"
and it seems to be ignored altogether.

Is there something I can do in the Control Panel or elsewhere to control the
client encoding?  I am trying to load some MS Access data that has Thai
characters (WIN874 = "Thai (Windows)") to a Postgres server via ODBC using
either Access 2007 or Stat/Transfer 9, neither of which give me an
opportunity to set the client encoding after the connection has been made.

The ODBCng driver seems to offer some control over the client encoding but
when I use that driver most of my records do not make it to the Postgres
database for some reason when using Stat/Transfer and Access just crashes.

Any ideas?  Thanks.

Neil
--
View this message in context: http://www.nabble.com/is-there-a-default-client-encoding--tp2604857p24468213.html
Sent from the PostgreSQL - odbc mailing list archive at Nabble.com.


Re: is there a default client encoding?

От
Hiroshi Inoue
Дата:
Neil Best wrote:
>
>
> Ludek Finstrle-2 wrote:
>>
>> psqlODBC tries to do it automatically for you. If you want see what
>> client_encoding is used enable mylog output and there is called
>> set client_encoding in the relative begin of mylog.
>>
>> . . .
>>
>> The psqlODBC has strange behaviour. It set automatic client_encoding
>> _after_ user defined connection settings. So you could change the
>> client encoding only from application. You could call
>> set client_encoding SQL statement.
>>
>
> Is this still how the driver behaves?  I don't see client_encoding
> explicitly in mylog when I leave the Connection Settings input blank in the
> ODBC configuration.  I have tried entering "set client_encoding = 'WIN874';"
> and it seems to be ignored altogether.

Please try to enter "set client_encoding to 'WIN874'".

regards,
Hiroshi Inoue