Jobe's character set limitations are documented in the Jobe readme. Specifically:
Programs may write binary output but the results are returned to the caller JSON-encoded, which requires UTF-8 strings. To avoid crashing the json-encoder, the standard output and standard error output from the program are taken as 8-bit character streams; characters below '\x20' (the space character) and above '\x7E' are replaced by C-style hexadecimal encodings (e.g. '\x8E') except for newlines which are passed through directly, and tabs and returns which are replaced with '\t' and '\r' respectively. Also, the Runguard sandbox currently runs programs in the default C locale. As a consequence of these two constraints, programs that generate utf-8 output cannot currently be run on Jobe. It is hoped to improve on this in the future.
Trying to improve on this is on my todo list, but I'm on holiday at present and nothing is likely to happen before about February next year (if I can find a fix).
Of course, if anyone else can find a fix that works for all the different languages while I'm away, I'll be happy to receive a pull request :-)