Opened 21 months ago

Closed 21 months ago

Last modified 21 months ago

#1069 closed дефект (fixed)

Не указан charset для css/main.css

Reported by: alx Owned by: san
Priority: major Component: БД изделий АДС
Keywords: Cc:

Description

В процессе работы с БД (r153/base) случайно обнаружил, что при наведении курсора на заголовки столбцов таблицы на главной странице справа от них появляются странные "письмена" типа “|±μ” или что-то подобное. В процессе исследования этого загадочного явления я пришел к файлу css/main.css, в строке 869 которого было написано:

    content: "⇵";

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

Почему же браузер отображал их неправильно? Разгадка нашлась очень быстро. Оказалось, что при ответе на запрос css/main.css (кстати, клиент почему-то запрашивает не css/main.css, а css/main.css?random=@Environment.TickCount - что это за странные параметры и для чего они нужны, для меня осталось загадкой) сервер не указывает кодировку документа (он указывает только Content-Type: text/css). В случае, когда кодировка документа не указана, подразумевается, что документ использует кодировку ASCII, следовательно, ни "⇵", ни любые другие не-ASCII символы в таком документе использоваться не могут. В нашем же случае css/main.css, очевидно, имеет кодировку utf-8, следовательно, для правильной работы браузера в ответе сервера должно быть указано Content-Type: text/css; charset=utf-8.

Предполагаю, что та же проблема имеет место при запросах других документов (например скриптов javascript), а не только css/main.css.

Предлагаю исправить работу сервера, добавив в поле Content-Type указание кодировки возвращаемых документов.

Attachments (1)

ss1.jpg (8.6 KB ) - added by alx 21 months ago.

Download all attachments as: .zip

Change History (6)

by alx, 21 months ago

Attachment: ss1.jpg added

comment:1 by alx, 21 months ago

Вот, заскриншотил!


comment:2 by san, 21 months ago

Resolution: fixed
Status: assignedclosed

In 179/base:

Добавил в .htaccess явное указание кодировки utf-8 для файлов .css .js
Closes #1069

comment:3 by alx, 21 months ago

Меня не оставляет любопытство, что это за параметр random=@Environment.TickCount, и зачем он нужен при запросе обыкновенного файла...

comment:4 by san, 21 months ago

Денис рассказывал, что он когда-то давно пытался так побороть "проблему" с кэшированием не имея доступа к настройкам сервера. Насколько я понял, смысл был в добавлении к имени файла рандомного постфикса, чтобы файл не мог быть кэширован. Но видимо что-то пошло не так. а потом этот неудачный эксперимент как-то просочился в коммит...
Если короче, то этот хвост не нужен, думаю Денис удалит его)

in reply to:  4 comment:5 by alx, 21 months ago

Replying to san:

Но видимо что-то пошло не так.

Видимо, потому что постфикс был не рандомный (я всегда видел random=@Environment.TickCount и ничего другого)...

Note: See TracTickets for help on using tickets.