Microsoft сломала драйверы Bluetooth из-за символа ® в названии мыши
В мире Windows-разработки существует забавная история о том, как Microsoft однажды сломала собственные драйверы Bluetooth, добавив символ зарегистрированного товарного знака ® в название своей мыши.
В 2006 году компания выпустила Microsoft Wireless Notebook Presenter Mouse 8000 — беспроводную мышь для презентаций с дополнительными кнопками для управления PowerPoint. Устройство казалось обычным, но оказалось печально известным среди программистов, копающихся в коде драйверов Windows.
Как объяснил ветеран Microsoft Рэймонд Чен в своем блоге The Old New Thing, проблема заключалась в том, как мышь сообщала свое имя системе. Вместо использования стандарта кодирования UTF-8, требуемого спецификацией Bluetooth, устройство использовало устаревшую кодировку Windows-1252 для символа ®.
«Microsoft Wireless Notebook Presenter Mouse 8000 сообщает свое имя как Microsoft® Wireless Notebook Presenter Mouse 8000, кодируя символ зарегистрированного товарного знака не в UTF-8, как требует спецификация, а в кодовой странице 1252», — написал Чен.
Это привело к тому, что строка с именем устройства распознавалась как недопустимая последовательность UTF-8 и отвергалась системой. В результате разработчикам Microsoft пришлось добавить в драйверы Bluetooth специальную таблицу для устройств, которые неправильно сообщают свои имена.
«В этой таблице сейчас есть только одна запись», — отметил Чен, имея в виду злополучную мышь 8000.
Инцидент демонстрирует, как даже небольшая деталь — в данном случае добавление символа ® по требованию юридического отдела — может вызвать неожиданные проблемы в сложных программных системах.








0 комментариев