I've been running a website with OpenACS 3.2.4 on nsd8x with iso 8859-2 for some time now. It is not the same encoding you are going to use but ... why not give it a try replacing 8859-2 with 8859-1 along the way?
Database setup: the OACS database in PostgreSQL was created with
createdb -E LATIN2 yourdb
so it stores stuff with single-byte encoding internally. Since
tcl8x handles strings in unicode, I added this to /etc/profile:
PGCLIENTENCODING='UNICODE' ; export PGCLIENTENCODING
So, the string conversion between PostgreSQL and Aolserver is done
smoothly by the first one.
Now, to get iso 8859-2 output from Aolserver, you need to add a few lines to your nsd.tcl:
ns_section "ns/parameters"
ns_param OutputCharset iso-8859-2
ns_param UrlCharset iso-8859-2
ns_param HttpOpenCharset iso-8859-2
ns_section "ns/mimetypes"
ns_param ".html" "text/html; charset=iso-8859-2"
ns_param ".txt" "text/plain; charset=iso-8859-2"
ns_param ".adp" "text/plain; charset=iso-8859-2"
and
encoding system iso8859-2
at the end of the file.
That basically does the trick for output. To make input work, you
should edit form.tcl (from aolserver/modules/tcl), find this line:
ns_set put $form $name $value
and replace it with
ns_set put $form $name [encoding convertfrom iso8859-2 $value]
Well, that is it, more or less. Two issues remain: getting the right charset in outgoing emails generated by OpenACS and correct ADP parsing. I am not sure how I solved these - IIRC the trick with ADP is
to use another parser (from the two available) if you do not get good
results from the start. With email - you need to modify sendmail.tcl and add to headers three lines describing the charset, in my case it is:
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
As for my setup, I am running Aolserver 3.2ad12 and PostgreSQL 7.1.3 (configured with --enable-unicode-conversion --enable-locale --enable-multibyte=UNICODE)
David, let me know if that works for you. If it does, I will look further into my code - I remember there was some additional tweaking needed to make OACS ADP templates output correct charset as well.