Forum OpenACS Q&A: OpenACS Chinese Support -- HOW?

Collapse
Posted by Kenny Chan on
Would OpenACS handle double byte characters such as Chinese
(Traditional Chinese Big-5) ?

If not with the default install, how can it be done? Is there a HOWTO
type of doc that I can reference to? Perhaps a patch or sth?

Thanks in advance for any input / guidelines.

Sincerely,

Collapse
Posted by Roberto Mello on
The ArsDigita release of AOLserver has support for double-byte characters.

There's an article on how to get Classic ACS to be internationalized at arsdigita.com/asj (ArsDigita Systems Journal). Getting OpenACS  to that level should be pretty similar except for the database part, which I don't know if is involved, but if it is then you'll need to get PostgreSQL configured too.

Collapse
Posted by Kenny Chan on
Thanks for the guideline on ASJ, Roberto.

Altho I couldn't seem to find a direct link from www.arsdigita.com/asj, after doing a site-wide search, I found the appropriate doc which talks about internationalization. Here is the link for those who wanna check it out:

Building a Multilingual Web Service Using the ACS

Also, from PostgreSQL: Introduction and Concepts, there is a short section which mentions Internationalization support in PostgreSQL.


Sincerely,
Collapse
Posted by Kenny Chan on
I would really like to see internationalization support in OpenACS, but I would present this problem in the language that I am trying to make OpenACS to work with...

I wanna bring this thread up again because it seems that no one has ever gotten OpenACS to work with the Chinese language (or any other non-Eng language?). If anyone has any suggestion / comment / experience with this issue, please post. Here is what I did recently:

I have read Building a Multilingual Web Service Using ACS in ASJ and have attempted to use OpenACS with Big5 character encoding (Tranditional Chinese). The ASJ doc mentions that there are a few levels of problems that have to be resolved before ACS can handle international character encodings.


1. the RDBMS level
2. the DBMS driver level
3. the aolserver level
4. the ACS Tcl code level

In my attempt to make my installation of OpenACS to work with my desired language, here is what I did to address point 1 and 3 of the above problems respectively:

1. building the PostgreSQL database with UNICODE or EUI_TW encoding (I tried both)

3. Using the latest aolserver3.2+ad10

I was immature enough to test if OpenACS would work with Chinese after doing the above two solutions ONLY. I tried using different nsd binaries, the nsd76 and nsd8 as well, because there were postings about differences in handling of double-byte characters in tcl76 and tcl8.

The way I test if OpenACS would work was to submit Chinese characters in the user biography and retrieve to see if it presents the same Chinese characters. All I got was junk characters.

In short, It didn't work.

The remaining 2 problems that have to be resolved are the DB driver and ACS TCL code.

I would like to know how the pgdriver v1.1 (the official OpenACS driver) handles character encodings. Is there any encoding translation? Or does it do SQL queries in UNICODE? If not, is it a planned feature in the near future?

For the very last problem, the ACS Tcl problem, I assume we can port the internationalization patch for ACS to OpenACS available here

If you have ever work with other languages with OpenACS, please post your experience. Any input would be greatly appreciated.