1) Gauche: unarguably best Unicode support, including native read/write syntax for strings, chars, regexps & char-sets; support for SRFI-13 & SRFI-14; charconv libraries and extensions to I/O procedures to specify encoding for ports, including auto-detection of Japanese encodings.
2) PLT >= v299: native Unicode support; regexps and SRFI-13 are Unicode-aware, SRFI-14 is not; port encodings assumed UTF-8.
3) Gambit: native Unicode support, no regexp or SRFI support, encoding for files and terminal is fixed at startup time and limited to Latin-1 or common Unicode encodings (UCS-2, UCS-4 or UTF-8).
4) SISC/Kawa/Jscheme: leverages Java Unicode support; SISC has Unicode aware SRFI-13, Unicode unaware SRFI-14, the others have neither; encoding is determined by default by locale, but SISC and Kawa provide port encoding procedures; Java uses UTF-16 internally which may cause complications with surrogate pairs.
7) Chicken: characters are allowed within the full 21-bit Unicode range, however by default the non-ASCII characters have no read/write syntax. I have a unit almost ready for release that leverages this and assumes UTF-8 encoded strings/ports to provide full Unicode support, including regexps, SRFI-13 and SRFI-14. Chicken has an iconv interface, and I also have a unit with a more friendly interface such as (with-input-from-encoded-file enc file thunk).
8) MIT-Scheme: Unicode chars strings are disjoint types; 'alphabet' type as Unicode-char alternative to char-sets; Unicode string ports; no port encoding utilities.
9) Bigloo: Unicode strings and characters are disjoint types; no port encoding utilities.