The problem was with the non-UTF-8-safe way that a question name
was being constructed from the question text.
I have done a proper fix with methods in the base class to
carefully construct a question name that is reasonable, and
which will fit in the database column. Then I have changed all
importers to use the new methods.
I also remembered not to break the lesson in the process.
1/ type/match/tests/walkthrough_test.php - tests are failing randomly, looks like some weird randomisation is going on there - see TODOs
2/ type/multianswer/tests/upgradelibnewqe_test.php contains invalid expected value - see TODO
1. database upgrade to merge instructions into the questiontext field,
and remove the UNITDISPLAY option.
2. Changes to the validation in deferred feedback mode, so students
are warned about incomplete answers.
3. Using this to wark students if they enter an answer that is not
recognised as a number.
From now on, all English strings use the new syntax. They are not
eval()'ed any more and the only valid placeholders are {$a} and
{$a->foobar}. No extra quotes escaping, dollar sign escaping and putting
double percent signs.
The modified files were exported from AMOS database repository in the
new syntax and were re-ordered by stringid. Standard GNU/GPL and PHPdoc
blocks are added. Where there was no copyright note so far, I added the
default one with Martin Dougiamas as the copyright holder.
Live long and prosper.