У меня есть приложение на Java EE, и у меня есть моя база данных в ISO-8859-1, поэтому мне нужно сделать кодировку jsp в ISO-8859-1... (все мои страницы в iso-8859-1)
У меня есть jsp с кодом javascript, который выполняет запрос к действию Struts.
Это мой js-код.
$.ajax({
type:'GET',
encoding:'iso-8859-1',
contentType: 'text/html;charset=ISO-8859-1',
url: xUrl,
success: function(){
$("#MensajeOk").attr('style','display:block');
$("#MensajeOk").delay(10000).slideUp(1000);
}
});
с IE и Chrome все правильно, потому что он кодирует запрос в ISO-8859-1, а Firefox кодирует запрос в UTF-8, и это проблема для меня, потому что на стороне сервера мне нужен ISO-8859-1 и с FF есть некоторые символы, которые я не могу восстановить.
моя форма
<html:form action="/action.do" acceptCharset="iso-8859-1">
<input type="text" name="title">
and my java code is
new String((request.getParameter("title")+"").getBytes("iso-8859-1"),"iso-8859-1"));
с ним я могу нормально восстановить текст в IE и Chome, но не могу с Firefox.
Другим вариантом будет отправка запроса в кодировке UTF-8 с помощью encodeURI('data'), но на стороне сервера я не могу преобразовать текст из UTF-8 в ISO-8859-1...
Какая-то идея???
Большое спасибо и извините за мой английский!!
new String(string.getBytes(encoding), encoding)
— это избыточный цикл, эквивалентныйstring
, потому чтоString.getBytes(encoding)
иnew String(bytes, encoding)
являются обратными операциями друг друга. - person Christoffer Hammarström   schedule 07.05.2012