Nano Hash - криптовалюты, майнинг, программирование

В css добавлен специальный символ (​), откуда это взялось?

Я выполнял кучу операций поиска-замены в блокноте ++, чтобы эффективно минимизировать мой css - в основном удаляя пробелы/табуляции и т. д. ...) В итоге это сломало большую часть моего css.

По-видимому, везде был вставлен странный символ (​) Используя notepad++ в UTF-8 без BOM, я не могу их увидеть, но они появились в исходном коде.

Я смог удалить их, выполнив замену поиска в кодировке ANSI, но мой вопрос в том, что это за символ и почему он мог появиться?


  • Знаете ли вы, был ли какой-либо ваш код вставлен из приложения, такого как MS Word? 12.06.2012

Ответы:


1

Строка «â€‹» представляет собой форму ZWSP в кодировке UTF-8, если ее неправильно интерпретировать как данные в кодировке Windows-1252. (Проверено с помощью хорошего декодера UTF-8.) объясняет, почему вы не видите его в Notepad++ в режиме UTF-8; ZWSP (пробел нулевой ширины) — это невидимый символ без ширины.

По-видимому, браузеры интерпретируют таблицу стилей как кодировку Windows-1252. Сохранение файла с BOM может помочь, так как тогда браузеры, вероятно, будут лучше угадывать кодировку. Реальное решение состоит в том, чтобы убедиться (в зависимости от сервера), что сервер отправляет соответствующий заголовок Content-Type для файла CSS.

Но если это единственный не-Ascii-символ в вашем файле CSS, на практике это не имеет значения, после того как вы удалили оскорбительные данные.

Я не знаю какого-либо простого способа заставить Notepad++ вставлять ZWSP (конечно, вы можете использовать общие утилиты для вставки символов в системе), так что это немного загадка, откуда это взялось. Возможно, через копирование и вставку откуда-то.

12.06.2012
  • Просто к сведению читателя: несколько лет назад я увидел, как это начало появляться в моих внешних файлах JS, и IE отказался запускать мой JS. Я обнаружил, что проблема с кодировкой вызвана неправильными настройками в Adobe GoLive. Если я правильно помню, персонаж был вставлен GoLive при FTP-загрузке на сервер. Теперь я больше не пользуюсь редакторами WYSIWYG. 12.06.2012
  • Блестяще, спасибо!. Бонусные баллы, если у вас есть фрагмент .htaccess для обеспечения правильного типа контента для моего css ;-) 13.06.2012
  • Zach L, если ваши файлы .css закодированы в кодировке UTF-8 (и любой файл в чистом ASCII тривиально), вы можете использовать следующее в .htaccess: AddType text/css;charset=utf-8 css 13.06.2012

  • 2

    Используя подключаемый модуль веб-разработчика или расширение в Firefox, вы можете увидеть проблемный символ в документе css.

    В Visual Studio все, что я мог видеть, это:

    }
    .t
    

    Веб-разработчик показал нежелательный скрытый символ «а» с символом вставки сверху:

    }
    â.t
    

    Ссылка на кодировщик utf выше показала это

    } (the encoded character for ampersand)
    .t   
    

    и это

    но просто устраните проблему, удалив и набрав заново.

    25.06.2012
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..