Не отображается список юзеров в интерфейсах из-за ' в имени

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
hotsnr
Posts:67
Joined:19 October 2012, 22:14
Не отображается список юзеров в интерфейсах из-за ' в имени

Post by hotsnr » 21 February 2018, 21:59

Если у кого-то из участников в поле Name есть символ ', то в интерфейсах new-judge и new-master в разделе Regular users отображается пустой список. С помощью отладчика в браузере выяснилось, что в этом случае ejudge возвращает некорректный JSON что приводит к описанному результату. При этом текст в ответе явно имеет проблемы с кодировкой:
{
"result" : 1,
"data" : [

{
"serial" : 1,
"user_id" : 6,
"user_login" : "mstrechen",
"user_name" : "Тестовый пользователь\' (М.)",
}
Выше показана часть ответа, содержащая ошибку. База данных пользователей хранится в MySQL.

ОС: Ubuntu 16.04.3 LTS
Ejudge: 3.7.3 ./configure --prefix=/opt/ejudge --enable-charset=utf-8 --with-httpd-cgi-bin-dir=/var/www/html --with-httpd-cgi-bin-dir=/usr/lib/cgi-bin/ --enable-contests-home-dir=/home/judges --enable-ajax --enable-hidden-server-bins --enable-local-dir=/var/lib/ejudge
MySQL: 5.7.20-0ubuntu0.16.04.1
mysql> use ejudge;
Database changed
mysql> SELECT @@character_set_database, @@collation_database;
+--------------------------+----------------------+
| @@character_set_database | @@collation_database |
+--------------------------+----------------------+
| utf8 | utf8_general_ci |
+--------------------------+----------------------+
1 row in set (0,00 sec)
Браузер: Google Chrome 64.0.3282.167 (Official Build) (64-bit)

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Не отображается список юзеров в интерфейсах из-за ' в им

Post by cher » 25 February 2018, 01:07

Это исправлено в 3.7.4


Post Reply