Информация об изменениях

Сообщение Re: Фигни Юникода ◕ͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥ от 09.08.2019 18:24

Изменено 09.08.2019 18:27 Буравчик

Re: Фигни Юникода ◕ͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥ
Здравствуйте, Shmj, Вы писали:

S>Сейчас еще эта бомбочка из заголовка — портит разметку вертикально. Это не один а много символов. Первый 9685 а потом множество 869. Выглядит как один символ, даже если их мильйон штук! Почему оно работает — толком не понял — может кто объяснит.


Во-первых, символ 9685 не виноват. Это просто символ круга с вырезанной четвертью: ◕
См. https://www.compart.com/en/unicode/U+25d5

Но Unicode умный, он знает, что в некоторых языках используются диакритические знаки — это всякие вспомогательные символы над или под основным символом. Для таких знаков в unicode есть специальные символы, которые можно комбинировать с другими.
Например: можно совместить букву A (код #x410) и знак ͥ (код #x365) получится Aͥ (код #x410#x365)

Если поставить несколько таких вспомогательных знаков подряд, то можно получить такое: Aͥͥͥͥͥ (код #x410#x365#x365#x365#x365#x365)
Ну а если поставить много, то получится то, что мы видим сейчас на сайте.

Т.е. с точки зрения unicode (и браузера) это один валидный символ, просто очень-очень высокий.

S>Что делать с такими символами? Запрещать?


Такие символы запрещать, наверное, не надо.

А нужно поправить верстку. Для элемента, в котором содержатся символы, которые ввел пользователь, нужно прописать CSS-правило "overflow: hidden". Тогда, все лишнее будет обрезаться и не портить верстку.
Re: Фигни Юникода ◕ͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥͥ
Здравствуйте, Shmj, Вы писали:

S>Сейчас еще эта бомбочка из заголовка — портит разметку вертикально. Это не один а много символов. Первый 9685 а потом множество 869. Выглядит как один символ, даже если их мильйон штук! Почему оно работает — толком не понял — может кто объяснит.


Во-первых, символ 9685 не виноват. Это просто символ круга с вырезанной четвертью: ◕
См. https://www.compart.com/en/unicode/U+25d5

Но Unicode умный, он знает, что в некоторых языках используются диакритические знаки — это всякие вспомогательные символы над или под основным символом. Для таких знаков в unicode есть специальные символы, которые можно комбинировать с другими.
Например: можно совместить букву A (код #x410) и знак ͥ (код #x365, которая выглядит как буква i над символом) получится Aͥ (код #x410#x365)

Если поставить несколько таких вспомогательных знаков подряд, то можно получить такое: Aͥͥͥͥͥ (код #x410#x365#x365#x365#x365#x365)
Ну а если поставить много, то получится то, что мы видим сейчас на сайте.

Т.е. с точки зрения unicode (и браузера) это один валидный символ, просто очень-очень высокий.

S>Что делать с такими символами? Запрещать?


Такие символы запрещать, наверное, не надо.

А нужно поправить верстку. Для элемента, в котором содержатся символы, которые ввел пользователь, нужно прописать CSS-правило "overflow: hidden". Тогда, все лишнее будет обрезаться и не портить верстку.