parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

похоже, что вы стучите в бубен вместо поиска проблемы

Misha v.3 08.03.2012 01:58

1. в вашем последнем коде вы сначала задаёте один $response:content-type, и следом перебиваете только-что заданное другим значением.
это -- ненужное шаманство, первое задание $response:content-type нужно убрать.

2. content-type == "javascript" -- не корректен. правильно -- "application/javascript" или "application/json" (если ответ в формате json). "text/javascript" тоже будет работать, хотя это и не по стандарту.

3. ajax == utf-8 и никак иначе. по крайней мере его общение с внешним миром (кодировку ответа отдельной страницы можно изменить отдельно от всего сайта, указав $response:charset + $response:content-type в ней). лично я не фанатею, когда происходят перекодировки, т.е. если страница что-то отдаёт в utf-8, то логично, если и написана она будет в utf-8. в принципе отдельную страницу/каталог можно перевести на хранение содержимого в utf-8 ($response:charset[utf-8]), правда если она использует какие-нить общие классы, которые в других кодировках, то будут проблемы. т.е. переходить на хранение файлов в utf-8 лучше сразу на всём сайте (при этом в БД можно оставить всё как есть или перевести потом).

4. ромбики и их аналоги могут появляться когда вы пытаетесь ввести в код страницы, написанной в utf-8 какие-то символы, которые отсутствуют в кодировке, в которой вы выдаёте данные (1251 в вашем случае).
похоже, что это как раз ваш случай: вы шаманите с кодировками (если response:charset == request:charset то перекодирования нет). а надо делать не чтобы кодировки совпадали, а чтобы response:charset + response:content-type были указаны правильно.
если у вас всё хранится в 1251 -- укажите в конфигурационном auto.p $request:charset[1251] и больше нигде его не меняйте.
если у вас страницы пользователям отдаются в 1251, укажите в конфигурационном auto.p $response:charset[1251] и $response:content-type[$.value[text/html] $.charset[$response:charset]]
когда вам нужно, чтобы какая-то страница отдавала данные в utf-8 (например для ajax) -- то только в этой странице укажите $response:charset[utf-8] и $response:content-type[$.value[text/html] $.charset[$response:charset]]