I've made a patch to support non-ASCII string (like Japanese) for filename and commit log. See attached patch. Tested with 'svnclone', 'svn pull', 'svn push' for file and log.
As a design, mercurial does not care of filename encoding. It means byte sequence of filename is (almost) local filename encoding, and usually it's a locale encoding. So my patch converts utf-8 from RA layer to local encoding (util._encoding) using util.tolocal() and util.fromlocal(). Of course this is not perfect solution, but enough for almost users, I guess.
Also Log message is a local encoded on extracted from localrepo object. So likewise, convert local encoding and utf-8.
In my patch, svnwrap class to accept and return utf-8 string and caller (usually fetch_command, push_command) care the conversion.