Как изменить кодировку для файла по маске через htaccess

Dreammaker
На сайте с 20.04.2006
Offline
569
1328

Для смсзамка нужно отдавать данные в windows-1251, движок работает на utf-8. Попробовал в лоб header('Content-Type: text/html; charset=windows-1251'); в нужном контроллере, но не сработало.

Наверное, одним из приемлемых вариантов было бы изменить кодировку для файла. Но задействуется ЧПУ, плюс фреймворк собирает всё из разных файлов, которым нужна utf-8 в других местах.

В общем, додумался до того, чтобы менять кодировку для страницы через htaccess, что-то типа (с отбросом параметром, просто по маске)

<Files ~ "/sms_zamok_billing/">

AddDefaultCharset windows-1251

</Files>

Но физически файл не существует, нужно что-то типа

<GET ~ "/sms_zamok_billing/">

AddDefaultCharset windows-1251

</GET>

Такое выдаёт internal server error.

Можно ли как-то осуществить мою идею? Или, возможно, есть какой-то другой вариант для решения.

update: проблема в работе с смсзамком оказалась не со всем связана с кодировкой, а скорее с моим непонимании механизма работы с сервисом и я её решил, но всё же по вышеуказанному вопросу хотелось бы узнать вариант решения, уже чисто с академическим интересом. :)

D
На сайте с 11.05.2010
Offline
15
#1

Если стоит mod_charset_lite, то делается просто. Доки тут: http://httpd.apache.org/docs/2.2/mod/mod_charset_lite.html

насчет конструкций с GET затрудняюсь сказать, может быть возможно сделать.

С напильником и бубном (http://kaba.org.ua)
Dreammaker
На сайте с 20.04.2006
Offline
569
#2

delicate, насколько я понимаю это по сути то, что я в своём сообщении показал. Ключевое именно в возможности работать не с реальными файлами, так как их нету при ЧПУ, а с сгенерированными.

D
На сайте с 11.05.2010
Offline
15
#3

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий