We try to auto-detect the system I/O encoding, but when we're not
able to, the I/O system falls back to "C", or "encode as-is".
Also, on Windows the system I/O encoding is determined by looking at
the systems defaults. When console CP and source file encodings are
different, you have to either set the proper encoding option in the
output stream (stdOut()) or use the command line options -e and/or
-E (check out falcon -H for a descrpition of the two).
-E <enc> Source files are in <enc> encoding
(overrides -e)
...
-e <enc> set given encoding as default for VM I/O
Now, -e changes how > "..." encodes strings known to the engine
out to the stdout, and how input() reads strings.
-E selects how the source files are read. Notice that after a first
read, .fam files are created and the strings are "sealed" as they
was interpreted during source file read. So, if you create a .fam
through the correct encoding option, you can send it anywhere and
just worry about the I/O settings on the target platform.
About chinese encoding, we have the GBK
http://en.wikipedia.org/wiki/GBK ; in case this is not what you
need, you should be able to write a transcoder by looking at
engine/transcoding.cpp and cut&paste from one existing
transcoding (in case you do, we'd be delighted to add it).
(I know GBK is used on Windows as well, as we were testing it with
the author on Windows).
Gian.