RE: How to read/write multibyte to database

From: Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>
To: jklcom(at)mindspring(dot)com
Cc: pgsql-general(at)postgresql(dot)org
Subject: RE: How to read/write multibyte to database
Date: 2001-03-15 12:15:52
Message-ID: 20010315211552H.t-ishii@sra.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> Can you please tell me what I need to do in my program to treat BIG5 such
> that it will not conflict with ASCII escape sequence?

Probably splitword and unescape_url need to rework, I'm not sure
actualy what you are doing inside them though. For example, if you
need to find '&', you would do like this:

unsigned char *p = your_string_to_parse;
int len = strlen(p);
while (len > 0)
{
if (*p == '&')
break;
if (p > 0x7f) /* first byte of BIG5 ? */
{
p++; /* skip second byte */
len--;
}
p++;
len--;
}

> Thanks
>
> -----Original Message-----
> From: Tatsuo Ishii [mailto:t-ishii(at)sra(dot)co(dot)jp]
> Sent: Saturday, March 10, 2001 8:39 AM
> To: jklcom(at)mindspring(dot)com
> Cc: pgsql-general(at)postgresql(dot)org
> Subject: RE: [GENERAL] How to read/write multibyte to database
>
>
> > I'm using BIG5
>
> Then you lose. Because BIG5 containts byte patterns conflicting with
> ASCII special charcters (like '\'), I guess your code:
>
> for(i=0; *queryString; i++)
> {
> splitword(items.Item, queryString, '&');
> unescape_url(items.Item);
> splitword(items.name, items.Item, '=');
>
> if(!strcmp(items.name, "Name"))
> {
> strcpy(name, items.Item);
> }
> else if(!strcmp(items.name, "Address"))
> {
> strcpy(address, items.Item);
> }
>
> won't work. Change your program to treat BIG5 carefully. Or you
> probably better to use EUC_TW or UTF-8 to write your web contents.
> --
> Tatsuo Ishii

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Zuev Dmitry 2001-03-15 12:24:03 Large object question
Previous Message Tatsuo Ishii 2001-03-15 12:15:32 Re: shared memory settings: SHMMAX and SHMALL