Problem with special chars(ñ) in Python of SQL Questions

Re: Problem with special chars(ñ) in Python of SQL Questions

by Martin Zwerschke -
Number of replies: 3

I have encountered similar problems in a question for C# using the template suggested by Richard.

Inside the question author's answer I used the German chars "ä" and "ü", wich are quite common in German.

The template script gives an error although the C#-program works with these chars.

The question author can avoid ä, ü, Ä, Ü and ß, if he knows that but students would use them in their answers.

Then they will get a "not correct" grade, and do not know the reason.

In reply to Martin Zwerschke

Re: Problem with special chars(ñ) in Python of SQL Questions

by Martin Zwerschke -

I have to add, that it seems to be even worse:

UnicodeEncodeError: 'ascii' codec can't encode character '\xb2' in position 349: ordinal not in range(128)
So we even must not use 8Bit ASCII but only 7-Bit ASCII.

The error above appeared, when I used x² in a question for a solver program for a squared equation.

In reply to Martin Zwerschke

Re: Problem with special chars(ñ) in Python of SQL Questions

by Richard Lobb -

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 :-)

Richard

In reply to Richard Lobb

Re: Problem with special chars(ñ) in Python of SQL Questions

by Richard Lobb -

Versions of Jobe since 14 Jan 2018 should handle UTF-8 code submissions correctly, provided Jobe is configured correctly. See the Jobe installation instructions.

Richard