Не удаётся создать опрос с некоторыми китайскими вариантами

[poll name=poll2 type=regular results=always chartType=bar]
* Microsoft Edge (новый)
* Microsoft Edge (старый)
[/poll]

При попытке создать опрос, как показано выше, я столкнулся с ошибкой «Опрос должен содержать различные варианты».После отладки я выяснил, что проблема заключается в функции md5:

md5("Microsoft Edge (новый)") = 695bf1ac483d572e5311e3bc9574616a
md5("Microsoft Edge (старый)") = 695bf1ac483d572e5311e3bc9574616a

Это кажется странным…

Я изучил код и обнаружил, что выражение /[\x80-\xFF]/.test(s) в строке 407 не может корректно обрабатывать эти китайские строки.

Я исправил это, принудительно конвертируя строки в «байты» UTF-8, и отправил pull-запрос в ваш официальный репозиторий.


Кстати, следующий опрос также не может быть создан:

[poll name=poll1 type=regular results=always chartType=bar]
* Другие районы Восточного Китая
* Другие районы Южного Китая
* Другие районы Северного Китая
[/poll]
5 лайков

Спасибо!

Изменение выглядит безопасным, но нам нужно убедиться, что здесь нет проблем с обратной совместимостью. @zogstrip, не могли бы вы быстро посмотреть на PR?

3 лайка

Это было слито, поэтому я закрою задачу.

1 лайк