Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > поломаная кодировка при передачи JS


Автор: polosatij 9.3.2009, 12:55

скрипт содержится в формате UTF-8, сервер: Tomcat, приложение построено с springMVC, на клиент JS приходит в кодировке ISO.. JS представляет из себя JSON и несёт функцию перевода некоторых приложений JS. где покопать? что-то на google сходу ничего не нашёл..  smile 

Автор: Tony 9.3.2009, 14:06
У меня javascript v utf-8 (свойства файла). Также спринг.  А как ты подключаешь к jsp свой скрипт? 
Код

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>


Код

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


Код

<script type="text/javascript" language="javascript" src="media/js/jquery.js"></script>

Автор: polosatij 9.3.2009, 14:18
Цитата(Tony @  9.3.2009,  13:06 Найти цитируемый пост)
У меня javascript v utf-8 (свойства файла). Также спринг.  А как ты подключаешь к jsp свой скрипт? 



у меня jsp заменён на velocity, в velocity стоят UTF-8 на вход и выход.. тока они тут не причём.. 

Цитата(Tony @  9.3.2009,  13:06 Найти цитируемый пост)
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


это тоже тут не причём, скрипт уже приходит "поломаный".. 

есть ли где ещё настройки? что-то не могу найти.. 

Автор: Tony 9.3.2009, 14:38
У меня были такие косяки если js не в утф-8. В Eclipse выставляется так: property na fajle.js/ Text file encoding panel и там надо поставить утф-8. Хотя ты говориш 4то стоит, странно  smile 

Автор: polosatij 9.3.2009, 15:07
Цитата(Tony @  9.3.2009,  13:38 Найти цитируемый пост)
У меня были такие косяки если js не в утф-8. В Eclipse выставляется так: property na fajle.js/ Text file encoding panel и там надо поставить утф-8. Хотя ты говориш 4то стоит, странно  smile 



всё работает отлично, если открыть на прямую в браузере и не работает, если закинуть в application server  smile 

Автор: Tony 9.3.2009, 15:11
Ты хочешь сказать что во время деплоя ломается енкодинг ? А как деплой происходит какой АS ?

Автор: polosatij 9.3.2009, 15:23
Цитата(Tony @  9.3.2009,  14:11 Найти цитируемый пост)
А как деплой происходит какой АS ?


не понял вопроса.. нет, не deploy ломает, а application server не в правильной кодировке выдаёт..

Автор: Tony 9.3.2009, 15:46
Попробуй добавить в web.xml:
Код

<filter>
        <filter-name>charsetFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>charsetFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

Автор: polosatij 9.3.2009, 23:00
Tony, пасиб =) но это у меня есть..

Добавлено через 7 минут и 30 секунд

нашёл в firebug-e:

Accept-Charset    

ISO-8859-1,utf-8;q=0.7,*;q=0.7

может это кому-нибудь что-нибудь подскажет..

Автор: Nikola661 29.4.2009, 14:12
Подскажите как моно перекодировать перехваченый параметр в Struts Action??
Я пробовал так:
Код

request.getParameter("name");


Этот параметр передается из ajax функции. Смотрите http://forum.vingrad.ru/forum/topic-257419/unread-1/kw-ajax-struts-параметр-русскими-буквами.html

Спасибо!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)