The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"HTTP::Server::PSGI UTF8 проблема с кодировкой"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Perl)
Изначальное сообщение [ Отслеживать ]

"HTTP::Server::PSGI UTF8 проблема с кодировкой"  +/
Сообщение от Azudim email(??) on 05-Сен-11, 15:00 
Подскажите пожалуйста кто сталкивался с проблемой:

  Запускаю Catalyst (8.x) на Windows в режиме plackup таким образом:
  
plackup --app myapp.psgi
  или
twiggy myapp.psgi --listen :3001

файлы проекта все в кодировке UTF-8
charset-encoding тоже utf-8

простой вывод в консоль написанный русским языком или из базы MySQL - в браузере все отлично (простой вывод сервера), но,
запросы Ajax приходят от сервера в JSON в таком виде: АВИАЦИОННАЯ УЛ. вместо кирилицы.
Однако запуск приложения в режиме Catalyst::Devel (myapp_server.pl) или fastCGI (на FreeBSD) работает нормально, в JSON от сервера в Ajax ответах возвращается корректно.

  




Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "HTTP::Server::PSGI UTF8 проблема с кодировкой"  +/
Сообщение от Azudim email(??) on 05-Сен-11, 15:03 
Заголовки простого GET запроса от Ajax отличаются не сильно:
GET:
Заголовки ответа
Date    Mon, 05 Sep 2011 11:01:06 GMT
Server    HTTP::Server::PSGI
Content-Type    text/html; charset=utf-8
X-Catalyst    5.80032
Vary    Accept-Encoding
Content-Encoding    gzip
Content-Length    3297

Заголовки запроса
Host    192.168.10.10:5001
User-Agent    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.1) Gecko/20100101 Firefox/6.0.1
Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language    ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding    gzip, deflate
Accept-Charset    windows-1251,utf-8;q=0.7,*;q=0.7
Connection    keep-alive

AJAX:
Заголовки ответа
Date    Mon, 05 Sep 2011 11:02:20 GMT
Server    HTTP::Server::PSGI
Content-Type    text/html; charset=utf-8
X-Catalyst    5.80032
Vary    Accept-Encoding
Content-Encoding    gzip
Content-Length    154
Заголовки запроса
Host    192.168.10.10:5001
User-Agent    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.1) Gecko/20100101 Firefox/6.0.1
Accept    application/json, text/javascript, */*; q=0.01
Accept-Language    ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding    gzip, deflate
Accept-Charset    windows-1251,utf-8;q=0.7,*;q=0.7
Connection    keep-alive
Content-Type    application/x-www-form-urlencoded; charset=UTF-8
x-requested-with    XMLHttpRequest
Referer    http://192.168.10.10:5001/
Content-Length    9
Cookie    __utma=23936634.930492998.1299269525.1299269525.1299269525.1
Pragma    no-cache
Cache-Control    no-cache

Может дело в Content-Type?


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "HTTP::Server::PSGI UTF8 проблема с кодировкой"  +/
Сообщение от Azudim email(??) on 05-Сен-11, 15:23 

>  Может дело в Content-Type?

подменил Content-Type через Plack::Middleware::Header

builder {
    enable 'Header',
        set => ['Content-Type' => 'text/html'];
    $app;
}

не помогло. заголовок изменился - кодировка нет.

я так думаю надо тем же Middleware на лету перекодировать в utf8, но как не знаю =(

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "HTTP::Server::PSGI UTF8 проблема с кодировкой"  +/
Сообщение от Azudim email(??) on 21-Окт-11, 19:49 
Вопрос решился* с выходом Catalyst 5.9x

В итоге на FreeBSD - поднят под Starman
на Windows 7 x64 поднимается под twiggy  

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру