За последние 24 часа нас посетили 24022 программиста и 1298 роботов. Сейчас ищут 797 программистов ...

Как отловить ошибку при генерировании символа?

Тема в разделе "PHP для новичков", создана пользователем miltorg, 16 янв 2020.

  1. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.568
    Симпатии:
    1.757
    Ну вот я не могу, например, на этот форум перенести самолётик, потому что на этом форуме шрифт или база не поддерживает самолётики. Точно так же, если тот сайт, куда будет чел самолётики переносить, по какой-то причине написан так, что оно не поддерживает эту часть юникода, то увы, он никуда и не сможет это скопировать. И это зависит от разработчиков того сайта.

    Да, проверил, здесь эмоджи уникодные режутся. Кстати, Win + . может вставлять их. А на других сайтах могут не резаться. Причины уже выше объяснили. Это относительно новая возможность, поэтому ещё не все могут поддерживать
     
  2. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Эможди поддерживаются в Мускул с 2010 года.
    3 года назад я писал программу как не меняя кодировки базы поддерживать Эмоджи. Написал. Вроде просто их сохранял в виде текста, а не в виде символа.

    А так - конечно всё ужасно ново. Просто очень ново.
    --- Добавлено ---
    Да. Точно. Гонял Эти эмоджи из кодировки в кодировку и сохранял цифры вместо символа.
     
  3. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    эталоном

    заранее

    ####

    Милторг, я думаю что будет проще - полностью обрисовать ситуацию.

    Что нужно в конечном итоге получить-то?

    Сделать чат с набором эмодзи вставляемых по клику мыши или что?
     
  4. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Так написал ведь.
    Первый раз:
    Я хочу в php выводить код символа и сам символ. Вывожу генерацией. Выводится. Но и выводится куча пустых мест. Пустые места - не нужны.
    Второй раз:
    Я хочу выводить для пользователей Эможды и пр. хрень из определённого диапазона - генерируется цифра и подставляется &# - в результате получаем картинки, ироглифы и пр.

    Кроме того, задача совершенно чётко описана в заголовке темы. Предельно чётко.

    Спасибо за исправления ошибок. Жалко что вы ничего другого не видите. Или не понимаете.
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.568
    Симпатии:
    1.757
    @miltorg, ну вот этот форум не поддерживает, значит и другой сайт может не поддерживать. Это про копирование на другие сайты.
     
  6. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Вы посмотрите во что играются детки. Они именно в это и играются:
    Допиши к &# свой день рождения.
    А детки создают кучу трафика и смотрят рекламу

    Почему не сделать им страничку где они могу взять этих своих Единорогов и Слонов?
     
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.568
    Симпатии:
    1.757
    @miltorg Ну так сделайте. Но они смогут скопировать только на те сайты, на которых верно настроена БД, и которые выводят нужным шрифтом информацию. С этим ты ничего не можешь сделать, невозможно знать, каким шрифтом какой сайт что выводит. Но соц. сети, подозреваю, эти дела должны поддерживать
    --- Добавлено ---
    Сами же видите - был один шрифт, отображался квадратик, поставили другой - опа, и символ вылез
     
    Roman __construct нравится это.
  8. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    Блин. Что-то тут вообще тяжело общаться.

    ВСЁ СДЕЛАНО. НО:

    выводится куча пустых мест. Пустые места - не нужны.
     
  9. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.568
    Симпатии:
    1.757
    Ну сколько раз уже сказано, пустое или не пустое - определяется шрифтом. Ни браузером, ни php, а шрифтом. Возможно, есть какой-то метод считать таблицу символов шрифта, если уж очень приспичило. Единственный надёжный был бы вариант.
    --- Добавлено ---
    https://stackoverflow.com/questions/29952100/php-determine-if-a-glyph-exists-in-a-given-font
     
  10. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.839
    Симпатии:
    741
    Адрес:
    Татарстан
    Составляете заранее! По кому либо шрифту таблицу .... тех символов которые там есть - сами смотрите глазками, хоть в БД, хоть в массиве
    потом в цикле - эти подготовленные данные выводите.
    И не надо тут заглавными буквами кричать - что мы не понимаем, задачу ваш дано поняли - причины вам указали, а вы все равно как муха об стекло бьетесь не желая понять суть причины
     
  11. miltorg

    miltorg Активный пользователь

    С нами с:
    7 апр 2019
    Сообщения:
    375
    Симпатии:
    12
    Адрес:
    Калининград
    ??? Вы чего?
    Не знаете количество символов в Юнкоде?

    А я думаю чего он говорит: Посмотри, Посмотри.
    Вот возьмите и посмотрите :)
    Желательно все 150 тысяч. в каждом шрифте. - символ ведь генерируется произвольно по введённой Юзером информации
    --- Добавлено ---
    Я пойду от сюда.
    Я не соответствую уровню образования собравшихся господ.
     
    #36 miltorg, 17 янв 2020
    Последнее редактирование: 17 янв 2020
  12. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    вот за что я и полюбил этот форум :D
    --- Добавлено ---
    вспомнилась классика:



    //у меня тоже очень долго был Стрим, практически с самого его запуска, как сейчас помню, тариф был 1 ГБ в месяц ))) баксов за 30 кажется :)
     
  13. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    кароч, посмотрел я тему более плотно - там похоже вообще не айс ))

    и судя по всему отображение зависит от операционки :D

    в общем, такое себе, имеет смысл разбираться в этом, только если прям вот нужно для проекта, а мне для проекта - не нужно :D
    --- Добавлено ---
    кстати, если кому нужно:

    https://font-converter.net/en (это щас по ходу экспериментов с эмоджи-шрифтами в гугле нашлось)

    ttf 2 woff2 конвертер

    сразу генерит font-face и пример в html

    мняка! :)
     
  14. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.552
    Симпатии:
    630
    @miltorg самолёт со скрина - это символ эмоджи. Обычные шрифты не содержат эмоджи. Обычно в системе всего один шрифт с набором эмоджи. В Windows это Segoe UI Emoji. Поэтому на одном устройстве, эмоджи во всех программах и на всех сайтах выглядят одинаково. Если пользователь отправит текст с эмоджи на другое устройство, например на iPhone, там они будут выглядеть иначе. Нет варианта чтобы скопировать конкретное изображение эмоджи. Если пользователь не видит эмоджи на сайтах, значит у него в системе отсутствует шрифт с набором эмоджи. Ты можешь подключить к сайту шрифт с эмоджи, и применить этот шрифт к блоку текста с эмоджи, чтобы все пользователи видели их на твоём сайте. Но это не даст возможность скопировать эмоджи тем пользователям, у кого в системе отсутствует шрифт.
    Однако, можно составить список стандартных и популярных эиоджи-шрифтов, и с помощью js проверять, есть ли хоть один из этих шрифтов у пользователя. Если нет, то вероятно эмоджи не будет работать.
    В интернете есть несколько вариантов как определить, установлен ли конкретный шрифт у клиента. Однако, специального метода не существует, поэтому все эти методы дают приблизительный результат.
    Комбинированние метод повышает точность.
     
    Roman __construct нравится это.