From: | Miguel Higuera <miguelstratoss(at)gmail(dot)com> |
---|---|
To: | "Pradeepkumar, Pyatalo (IE10)" <Pradeepkumar(dot)Pyatalo(at)honeywell(dot)com>, pgsql-admin(at)postgresql(dot)org |
Subject: | Re: FW: Libpq - multibyte character support |
Date: | 2005-09-07 05:03:49 |
Message-ID: | f11b7a0d050906220353cd6f7f@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
CREATE DATABASE name ENCODING = WIN1256
THIS MAY BE THE SOLUTION
ALSO YOU CAN PROBE WITH :
ALT, LATIN1 TO LATIN9, EUC_CN, EUC_JP,EUCCREATE DATABASE name ENCODING =
WIN1256
THIS MAY BE THE SOLUTION
ALSO YOU CAN PROBE WITH :
ALT, LATIN1 TO LATIN9, EUC_CN, EUC_JP,EUC_KR......................
I WAIT THIS BE USEFULL
_KR......................
I WAIT THIS BE USEFULL
2005/9/6, Pradeepkumar, Pyatalo (IE10) <Pradeepkumar(dot)Pyatalo(at)honeywell(dot)com>:
>
>
>
>
>
> Hi all,
>
> My question is does PgSQL libpq functions support multibyte
> characters...if not then is there a way to provide multibyte data to
> Postgres using libpq functions. The other question is does Postgres support
> Chinese characters....if I insert chinese characters into a table, when I
> read, will I get the same chinese characters. Please help me out in this
> regard.
>
> I have created a database with UNICODE support which has a
> table GSNames(Gsname varchar(40), status int, errorcode int)
> I tried to insert into this table from a simple C program
> using libpq functions....but it gives error as libpq does not support wchar
> datatypes. Here is the code -
>
> int main()
> {
> // wchar_t szQuery[255];
> char szQuery[255];
>
> PGconn *DBCon;
> PGresult *DBResult;
>
> //Connect to the database with default settings
> DBCon = PQsetdbLogin(NULL, NULL, NULL, NULL, "test1",
> "postgres", ""); //test1 is database created with UNICODE encoding
>
> //check if there is any error in connecting to the database
> if(PQstatus(DBCon) == CONNECTION_BAD)
> {
> fprintf(stderr,"\nGetAttributeInfo(): Connection to database
> failed.");
> fprintf(stderr,"\nGetAttributeInfo(): %s",
> PQerrorMessage(DBCon));
> return ERROR_DB_CON;
> }
> else
> {
> fprintf(stderr,"\nGetAttributeInfo(): Connection to database
> successful.");
> }
>
> //form the DELETE command as character buffer.
> //swprintf(szQuery,500,L"INSERT INTO gsnames
> values('×¢²á',2,2)");
> sprintf(szQuery,"INSERT INTO gsnames values('×¢²á',2,2)");
>
> //execute the command.
> DBResult = PQexec(DBCon, (char *)szQuery);
>
> //check for any errors in executing the query.
> if(PQresultStatus(DBResult) != PGRES_COMMAND_OK)
> {
> fprintf(stderr,"\nGetAttributeInfo(): %s",
> PQresultErrorMessage(DBResult));
> PQclear(DBResult);
> PQfinish(DBCon);
> return ERROR_DB_EXEC;
> }
> else
> {
> fprintf(stderr,"\nDBInsertPointAttribute(): Insertion
> successful. No. of rows affected = %d.", PQntuples(DBResult));
>
> }
>
> PQclear(DBResult);
> PQfinish(DBCon);
>
> return 0;
> }
>
> The problem is I am not able to pass multibyte characters to
> postgres. Please help.....Thanks in advance.
>
> Between I am using Postgres version 7.4.3. While installing
> Pgsql, I dnt specify any encoding or multi byte character support for
> initdb.
>
> Regs,
> Pradeep
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Jim C. Nasby | 2005-09-07 05:38:44 | Re: [HACKERS] How to determine date / time of last postmaster restart |
Previous Message | Tom Lane | 2005-09-07 00:22:34 | Re: How to determine date / time of last postmaster restart |