RE: How to read/write multibyte to database
От | Tatsuo Ishii |
---|---|
Тема | RE: How to read/write multibyte to database |
Дата | |
Msg-id | 20010316102443J.t-ishii@sra.co.jp обсуждение исходный текст |
Ответ на | RE: How to read/write multibyte to database (Tatsuo Ishii <t-ishii@sra.co.jp>) |
Список | pgsql-general |
From: "Jeff Lu" <jklcom@mindspring.com> Subject: RE: [GENERAL] How to read/write multibyte to database Date: Thu, 15 Mar 2001 11:18:29 -0500 Message-ID: <NDBBIHPECLIGKCCLMACAMEJACLAA.jklcom@mindspring.com> > Another question: > > What if the input data stream is mixture of English & Chinese such as > > How are you? = §A ¦n ¶Ü ¡H > > How should I handle this? You mean ascii by "English"? Then it's ok since ascii chars always lower than 0x80. > -----Original Message----- > From: Tatsuo Ishii [mailto:t-ishii@sra.co.jp] > Sent: Thursday, March 15, 2001 7:16 AM > To: jklcom@mindspring.com > Cc: pgsql-general@postgresql.org > Subject: RE: [GENERAL] How to read/write multibyte to database > > > > 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@sra.co.jp] > > Sent: Saturday, March 10, 2001 8:39 AM > > To: jklcom@mindspring.com > > Cc: pgsql-general@postgresql.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
В списке pgsql-general по дате отправления: