Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Настройка кодировки в Apache

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

stupom



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все сайты в UTF-8 и всё работает нормально. Случайно заметил, что для JS в заголовках HTTP нет кодировки.
Нашёл ./conf-enabled/charset.conf с записью AddDefaultCharset UTF-8 и не понял, почему это не распространяется на JS?

Всего записей: 182 | Зарегистр. 04-07-2015 | Отправлено: 12:23 15-09-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
stupom

Цитата:
не понял, почему это не распространяется на JS?

потому, что js не выдается пользователю напрямую и самостоятельно, ему не нужно указывать кодировку. важно, чтобы совпадала кодировка внутри файла и страницы, на которой он подключается.
у него и content-type  application/javascript, а не текстовый.

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 12:26 15-09-2016 | Исправлено: Mavrikii, 12:28 15-09-2016
stupom



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так а на какие mime-type распространяется AddDefaultCharset?
Где эта хренотень указывается?
 
В принципе, это актуально, т.к. Apache не должен думать "напрямую или накривую" выдаётся файл. Тем более, скрипт может быть подключен к странице с другой кодировкой и Apache точно будет уже не в курсе дела.

Всего записей: 182 | Зарегистр. 04-07-2015 | Отправлено: 12:37 15-09-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
stupom

Цитата:
Apache не должен думать "напрямую или накривую" выдаётся файл.

он и не думает, а выдает как есть. через content-type вы подсказываете браузеру, как отображать текст, к которому js не относится.
 

Цитата:
Тем более, скрипт может быть подключен к странице с другой кодировкой и Apache точно будет уже не в курсе дела.

апач тут вообще не при чем. как и большинство современных браузеров отлично работают с js в уникоде, не важно куда подключаемым, так как js идет на выполнение кода.
 
к тому же бред пишете - кодировка в js файле одна, в какой сохраните содержимое, апач не занимается перекодированием, а значит подобная инфа просто не нужна.
 
http://stackoverflow.com/questions/9254891/what-does-content-type-application-json-charset-utf-8-really-mean
http://stackoverflow.com/questions/9853463/enable-utf-8-encoding-for-javascript

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 12:42 15-09-2016 | Исправлено: Mavrikii, 12:44 15-09-2016
stupom



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii, спасибо, но думаю вы ошибаетесь. Речь не о возможности "отличной работы". Ресурс JavaScript имеет текстовую природу и браузер должен получить корректную кодировку от сервера, а не гадать по кодировке той страницы к которой подключен скрипт.

Всего записей: 182 | Зарегистр. 04-07-2015 | Отправлено: 12:59 15-09-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
stupom

Цитата:
Ресурс JavaScript имеет текстовую природу и браузер должен получить корректную кодировку от сервера

js имеет content-type, как и написал, application - то есть его работа и выполнение зависит от приложения (application), а именно интерпретатора javascript в браузере. он не выводится сам по себе как текст (не имеет content-type text). но можете долбиться дальше, если вам это доставляет удовольствие.
 
а если сильно хочется - у тега <script> есть атрибут charset - https://ru.wikipedia.org/wiki/JavaScript#.D0.90.D1.82.D1.80.D0.B8.D0.B1.D1.83.D1.82.D1.8B_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0_script
но это не имеет никакого отношения к апачу.

Цитата:
необязательный атрибут charset, используемый вместе с src для указания используемой кодировки внешнего файла.

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 13:03 15-09-2016 | Исправлено: Mavrikii, 13:07 15-09-2016
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Настройка кодировки в Apache


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru