I have a course with a cyrillic encoding. I try to send answers (interactions) to the LMS (Scorm cloud) in response to the test. If my response have cyrillic encoding, then an empty string comes to LMS, and if in English, then everything is fine. How can I solve the encoding problem so that the response result for interactivity is sent to the LMS in the cyrillic encoding?
привет, Alexandr! Really sorry that cyrillic text appears blank in the LMS report, and I'm glad you brought this to our attention.
Good move on testing your project in SCORM Cloud 👌I've relayed all of this information over to our support engineers in a case, so we can dive deeper into this behavior. You should receive a confirmation email shortly with a unique link to upload your .story file.
Look out for an email from someone from the team with some next steps. I'll be following the case as well!
For scorm2004: There is a variable in the /lsm/scormdriver.js called USE_LEGACY_IDENTIFIERS_FOR_2004 with the default value true. Changing this to false will encode the string as a URI as per definition in the scorm standard
This can be done inside the storyline file like this: Create a trigger executing the following javascript somewhere at the start of the course:
4 Replies
привет, Alexandr! Really sorry that cyrillic text appears blank in the LMS report, and I'm glad you brought this to our attention.
Good move on testing your project in SCORM Cloud 👌I've relayed all of this information over to our support engineers in a case, so we can dive deeper into this behavior. You should receive a confirmation email shortly with a unique link to upload your .story file.
Look out for an email from someone from the team with some next steps. I'll be following the case as well!
Thank you for help.
We are able to solve this problem.
To do this, after the course was published, edit the CreateValidIdentifier function in the file /lms/API.js
We change string
str = str.replace (/ [^ \ w \ - \ (\) \ + \. \: \ = \ @ \; \ $ \ _ \! \ * \ '\%] / G, "_ ");
and replace it to
str.replace(/[^А-Яа-я\w\-\(\)\+\.\:\=\@\;\$\_\!\*\'\%]/g, "_");
Nice job, Alexandr! Thanks for sharing that here, as I'm certain others in the community will find this helpful.
You know where to find us if you need anything else!
For scorm2004: There is a variable in the /lsm/scormdriver.js called USE_LEGACY_IDENTIFIERS_FOR_2004 with the default value true. Changing this to false will encode the string as a URI as per definition in the scorm standard
This can be done inside the storyline file like this: Create a trigger executing the following javascript somewhere at the start of the course:
USE_LEGACY_IDENTIFIERS_FOR_2004=false;