If you are using ns_write, then you need to first tell AOLserver
explicitly what character encoding to convert to. You do this using the aolserver command ns_startcontent. It takes either a MIME type
or the name of an encoding (I forget whether it uses the Tcl encoding names or the MIME encoding names, i.e., shiftjis vs shift_jis). You need to call this before any output has been written, I think, including output headers maybe.
Anyway, it's not rocket science -- it's just a real pain in the
neck trying to figure out what code is setting the output encoding where.
I think a goal ought to be
1) to make sure that OpenACS ships
'out of the box' supporting ISO-8859-1 (latin-1) properly. If it is
not doing that now, we should definitely look into it.
2) The next goal should be that we should have things parameterized so that it is easy to throw one global "switch" and
set the entire site to a single other character set (i.e., tcl and adp files can be authored in that charset and normal pages will be
output in that charset).
Beyond that, supporting multiple character sets simultaneously is
a hard problem, but if the first two goals are met, then supporting
multiple encodings will probably be easier to hack.