Первая фигня с юникодом — когда расширение файла exe внешне выглядело как другое. Достигалось переварачивающим символом (который создан для языков, в которых пишут справа налево).
Сейчас еще эта бомбочка из заголовка — портит разметку вертикально. Это не один а много символов. Первый 9685 а потом множество 869. Выглядит как один символ, даже если их мильйон штук! Почему оно работает — толком не понял — может кто объяснит.
А̝̥͡͠͝ ̡̨̨̙̘̰͕͔͔в̡̭͙̺̞̟̬͇̭ ̸҉̖̙̦ч̷̞̟̝͇͖̝͎͎͢е̷̨͕̙м̡̡҉̯ ̸̶̼͎͕̬̞̬͕̗͞с̷̵̩̲͉̹͙о͇͎̘̕б͈͇̣̞̀͢ͅс̨̣̺͉͙͘ͅт͔̼̦͔̖̕в̗͖̪̖̤͈́͟͞е͏̙̙̥̪̘̲͎̯н̮̳̘͕͝н͈̩̭о̬̮͈̞͖̼ͅ ̶̹̪̪̖̤̯̗̕̕п̢̥͓͇̜͢р̡̪̥о̸͎̯̙̳͎̫͕б̴̵̬̖̪̱л̰̼̜̖е̶̦̼̱̤̠̳͔̻͝м̸̷̙͕̱̥͙̹а͕̣̼̻̟̳̣̫?̼̞̟͘͟͞ ̝̮̻͠У̶͔̜̝͍ ̧̖̦̱͝м̴̭̟̹̗̣̦е̜͖͙̻̺̹͓́͠ͅн̪̮̗͎̤͙͔̝я̱̬̟͈͢ ̢̼̼̟в̤̝͚͇̣̪̗с͓͞е̷̺̙̘̦̟̞̼ ͚̮̀͡н͎̼͢͜о̛̠̰̗͓͔͚̤̘̕ͅр͞҉͈̹̞̳̬̻̰̮м̡̮̦̝̱͕͡ ̛̭о̵̲͈͍͍̫̻̝͉ͅт̴̧̗̳͇̦̼о̴̹̻͡͝б͓͚̝̫̯̫͘р̟̘̗͜а̢̮̬ж̨̤̮̭̗͟а̢̺̫͍̰͎̯̤̖͝ͅе̷̸̤͈̙̬͓̮̱т͖͝с̭̱͚̲̣̀͢ͅя̷̧̤̰̼͕̝̩̫̕
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, GarryIV, Вы писали:
GIV>>Тему в мусор тебя в баню
S>На каком основании? Более того — проблема то не решена.
Отвечайте на это сообщение, только если у Вас хорошее настроение и в Вашем ответе планируются только конструктивные вопросы и замечания http://rsdn.ru/Info/rules.xml
Здравствуйте, Shmj, Вы писали:
S>Сейчас еще эта бомбочка из заголовка — портит разметку вертикально. Это не один а много символов. Первый 9685 а потом множество 869. Выглядит как один символ, даже если их мильйон штук! Почему оно работает — толком не понял — может кто объяснит.
Потому что это Combining Diacritical Mark. Не самостоятельный знак, а дополнение. Их много: https://www.compart.com/en/unicode/combining/230.
Встречаются редко, та же 869 обычно используется как Oͥ (oͥ) в шотландском.
Здравствуйте, Shmj, Вы писали:
S>А ведь могут быть еще сюрпризы, там много всего. S>Что делать с такими символами? Запрещать?
Не знаю что сейчас с этим можно сделать, но Юникод сам по себе производит впечатление кривого стандарта.
Как вариант — сделать например Юникод 2, в котором пересмотреть очень многое из существующего юникода.
Нет такого преступления, на которое не пошло бы суверенное родоплеменное быдло ради продления своего бессмысленного рода и распространения своего бессмысленного генома.
alpha21264:
A>А у меня нормально показывает (Firefox Linux).
У меня воспроизводится.
Tor Browser 7.5.6 (based on Mozilla Firefox 52.9.0) (64-bit)
OS Ubuntu.
Здравствуйте, Shmj, Вы писали:
S>Сейчас еще эта бомбочка из заголовка — портит разметку вертикально. Это не один а много символов. Первый 9685 а потом множество 869. Выглядит как один символ, даже если их мильйон штук! Почему оно работает — толком не понял — может кто объяснит.
Но Unicode умный, он знает, что в некоторых языках используются диакритические знаки — это всякие вспомогательные символы над или под основным символом. Для таких знаков в unicode есть специальные символы, которые можно комбинировать с другими.
Например: можно совместить букву A (код #x410) и знак ͥ (код #x365, которая выглядит как буква i над символом) получится Aͥ (код #x410#x365)
Если поставить несколько таких вспомогательных знаков подряд, то можно получить такое: Aͥͥͥͥͥ (код #x410#x365#x365#x365#x365#x365)
Ну а если поставить много, то получится то, что мы видим сейчас на сайте.
Т.е. с точки зрения unicode (и браузера) это один валидный символ, просто очень-очень высокий.
S>Что делать с такими символами? Запрещать?
Такие символы запрещать, наверное, не надо.
А нужно поправить верстку. Для элемента, в котором содержатся символы, которые ввел пользователь, нужно прописать CSS-правило "overflow: hidden". Тогда, все лишнее будет обрезаться и не портить верстку.