Одна проблема всплыла достаточно серьезно: никто не сталкивался? А может и решение уже нашли? Сейчас времени нет - если ответа тут не получу, завтра по английскому форуму поддержки пойду...
Проблемы при сравнениях с регистром для non-ASCII символов...
Эта проблема всплывала с фильтром автосвязывание ресурсов... Я даже о баге писал (MDL-6054), на что мне ответили - не могем сейчас поправить. Но там полбеды, плюнул. А вот сегодня всплыло, что такая же проблема в тестах с коротким ответом (точнее я предполагаю, что у проблемы ноги оттудаже растут)... Вроде и стоит, не зависеть от регистра, а выдает все равно ошибку. Тут это уже сущестевнная проблема. Никто с ней не сталкивался? Не решал ее?
Регистр
Number of replies: 4Может, дело не в MOODLE, а в БД? (+)
В MySQL (у меня 4.1.19) имеются различные кодировочки:
utf8_general_ci - игнорирует регистр
utf8_general_cs - учитывает регистр
И тому подобное для других чарсетов (cp1251_general_ci, cp1251_general_cs).
Может, ноги растут отсюда, или все-таки сравнение идет средствами MOODLE?
Просто сейчас как раз борюсь с кодировками по другому поводу
utf8_general_ci - игнорирует регистр
utf8_general_cs - учитывает регистр
И тому подобное для других чарсетов (cp1251_general_ci, cp1251_general_cs).
Может, ноги растут отсюда, или все-таки сравнение идет средствами MOODLE?
Просто сейчас как раз борюсь с кодировками по другому поводу
Re: Может, дело не в MOODLE, а в БД? (+)
Попробовал на всякий случай и для теста: для ASCII символов проблемы такой нет... Значит проблема не с БД, а скорее всего в тоже в чем и в MDL-6054
Re: Может, дело не в MOODLE, а в БД? (+)
И всё же...
Если ли решение проблемы регистра? Особенно в кратких вопросах тестов.
Даж в версии 1.6.3 такой глюк наблюдается
Если ли решение проблемы регистра? Особенно в кратких вопросах тестов.
Даж в версии 1.6.3 такой глюк наблюдается
Re: Может, дело не в MOODLE, а в БД? (+)
В 227,228,229 строках файла moodle\question\type\shortanswer\questiontype.php делаем следующие изменения:
if (!$question->options->usecase) { // Don't compare case
$response0 = moodle_strtolower($response0);
$response1 = moodle_strtolower($response1);
}
Т.е. strtolower -> moodle_strtolower... Может быть эта проблема решается через локали (как я понял проблема с ней из комментариев к функцие на php.net), но у меня не получилось...
http://moodle.org/mod/forum/discuss.php?d=54223
В 1.7 возможно эта проблема будет решена по-умолчанию...
Кроме того, еще пара моментов (вроде бы эти проблемы решил): MDL-6054, решение для этого бага также решает проблему для MDL-6596
if (!$question->options->usecase) { // Don't compare case
$response0 = moodle_strtolower($response0);
$response1 = moodle_strtolower($response1);
}
Т.е. strtolower -> moodle_strtolower... Может быть эта проблема решается через локали (как я понял проблема с ней из комментариев к функцие на php.net), но у меня не получилось...
http://moodle.org/mod/forum/discuss.php?d=54223
В 1.7 возможно эта проблема будет решена по-умолчанию...
Кроме того, еще пара моментов (вроде бы эти проблемы решил): MDL-6054, решение для этого бага также решает проблему для MDL-6596