Size: a a a

2021 April 15

KN

Kirill Nesmeyanov in PHP
и не дай бог в строчку прилетит какой-то левый символ (опять же могу загоняться, слышал звон)
источник

AM

Artem Molotov in PHP
а это проблемы именно во время выполнения или во время парсинга и компиляции скрипта? если второе, то ещё можно понять (не хотят ломать обратную совместимость)
источник

KN

Kirill Nesmeyanov in PHP
ну ты хочешь прочитать xml, а там кривой байт какой
источник

KN

Kirill Nesmeyanov in PHP
т.е. рантайма получается
источник

KN

Kirill Nesmeyanov in PHP
но вообще это надо спрашивать питонистов, будет ли в этом случае ошибка, если туда (в строчку) залетит, например, поломанный нижний суррогат. Т.к. я с этим сталкивался 1000 лет назад и вполне допускаю, что у меня тогда просто руки из жопы были
источник

AM

Artem Molotov in PHP
Ааа. Ну да. Если файл/строка не в Юникоде, то нужно конвертировать. Эт с любой строкой так будет.
источник

KN

Kirill Nesmeyanov in PHP
Почему, вполне в юникоде, только с битым чаром
источник

AM

Artem Molotov in PHP
Это зависит ещё от количества битых чаров. Так то любая строка может быть одновремено во всех кодировках (ну т.е. содержимое одно, а читать можем по разному). Возникает лишь одной вопрос — автоопределения кодировки.

Из-за этого ранее если из разных шаблонов взять чуть html в одной кодировке и скрестить с частью в другой, то браузер не мог понять какую использовать и временами ошибался
источник

KN

Kirill Nesmeyanov in PHP
Ну и как бы спека юникода постоянно расширяется. Те же эмодзи, например, используют конкатенацию из верхнего + нижнего суррогатов, которых в utf-8 "как бы нет", но вот как оказалось есть
источник

KN

Kirill Nesmeyanov in PHP
А вот и нет, для юникода есть управляющие секции байт
источник

AM

Artem Molotov in PHP
Вот с расширением кодировки я рил немного не въезжаю, но это скорее не вопрос к работе с кодировкой, а вопрос шрифтов (отображения кодировки)
источник

KN

Kirill Nesmeyanov in PHP
тоже не всегда
источник

KN

Kirill Nesmeyanov in PHP
эмодзи, например, могут отображаться картинками
источник

KN

Kirill Nesmeyanov in PHP
и так почти везде делают
источник

AM

Artem Molotov in PHP
А толку от них, если ПО определило, что внутри куча текста в Win1251? Тут браузер подумает, что юзер натупил и вначале прилетело то, что прилететь не должно было (как когда хеадеры раньше времени прилетели)
источник

KN

Kirill Nesmeyanov in PHP
Ну блин, это либо битый чар, либо не так кодировка
источник

AM

Artem Molotov in PHP
картинка ж частью шрифта есть (если не о браузерах говорить)
источник

KN

Kirill Nesmeyanov in PHP
оно и отображает такие символы специальными заглушками
источник

AM

Artem Molotov in PHP
Ну да. Вот и вопрос что выбрать
источник

KN

Kirill Nesmeyanov in PHP
вот такими: �
источник