Re[12]: Unicode && AJAX
От: Mimi  
Дата: 23.10.06 09:33
Оценка:
Здравствуйте, Lucker, Вы писали:

L>Здравствуйте, Mimi, Вы писали:


L>>>я бы порекомендовал пользоваться для вывода символьных данных не ServletOutputStream-ом а PrintWriter-ом, если это не так.


M>>Теперь использую PrintWriter -- один фиг.


L>ну и конечно response.getWriter нужно вызывать после response.setContentType.



Ага, вот:


response.setContentType(CONTENT_TYPE);
response.setCharacterEncoding(Globals.ENCODING);
PrintWriter out = new PrintWriter(response.getWriter());
Re[13]: Unicode && AJAX
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 23.10.06 09:39
Оценка:
Здравствуйте, Mimi, Вы писали:

M>Ага, вот:



M>
M>response.setContentType(CONTENT_TYPE);
M>response.setCharacterEncoding(Globals.ENCODING);
M>PrintWriter out = new PrintWriter(response.getWriter());
M>


а точно нигде раньше по коду невызывается response.getWriter()?
Re[7]: Unicode && AJAX
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 23.10.06 09:39
Оценка:
Здравствуйте, Mimi, Вы писали:

M>Я потом в логи вывожу — проверяю, какой инкодинг.. и заодно вывожу буффер XML-я, все зашибись. Пишу XML в файл, открываю IE, все ок. А вот на странице где JavaScript берет responseXML уже все кривое. Хотя там тоже UTF-8.. Теряюсь в догадках...


а если напрямую отправить такой запрос из браузера, тоже все в порядке?
Re[11]: Unicode && AJAX
От: mag2005  
Дата: 23.10.06 09:59
Оценка:
M>>Девушка, проверьте свой реальный CONTENT_TYPE. Комментарий справа ниже наводит на смутные сомнения (что за UFT-8?)

А>Осспади... да опечатка в комменте. Прям совсем я что ли...


А>
А>public static final String ENCODING = "UTF-8";
А>

А>

А Вы, девушка, не хихикайте. Вы мне ENCODING показали, а интересует CONTENT_TYPE. Вы проверьте все-таки, что там пишется. Должно быть "text/xml; charset=utf-8".
Re[12]: Unicode && AJAX
От: Mimi  
Дата: 23.10.06 11:24
Оценка:
Здравствуйте, mag2005, Вы писали:

M>>>Девушка, проверьте свой реальный CONTENT_TYPE. Комментарий справа ниже наводит на смутные сомнения (что за UFT-8?)


А>>Осспади... да опечатка в комменте. Прям совсем я что ли...


А>>
А>>public static final String ENCODING = "UTF-8";
А>>

А>>

M>А Вы, девушка, не хихикайте. Вы мне ENCODING показали, а интересует CONTENT_TYPE. Вы проверьте все-таки, что там пишется. Должно быть "text/xml; charset=utf-8".


Хихикать перестала.. значит, смотрим (часть кода из сервлета)


private static final String CONTENT_TYPE = "text/xml; charset=" + Globals.ENCODING;


нннууу?
Re[14]: Unicode && AJAX
От: Mimi  
Дата: 23.10.06 11:26
Оценка:
Здравствуйте, Lucker, Вы писали:

L>Здравствуйте, Mimi, Вы писали:


M>>Ага, вот:



M>>
M>>response.setContentType(CONTENT_TYPE);
M>>response.setCharacterEncoding(Globals.ENCODING);
M>>PrintWriter out = new PrintWriter(response.getWriter());
M>>


L>а точно нигде раньше по коду невызывается response.getWriter()?


Это единственный вызов response.getWriter() в том сервлете.
Re: Unicode && AJAX
От: Blazkowicz Россия  
Дата: 23.10.06 11:33
Оценка:
Здравствуйте, Mimi, Вы писали:

M>Но каким-то хамским образом, AJAX умудряется наплевать на UTF, и показывает вот такую белиберду РљСѓРєСѓ


Вид — Кодировка а браузере что показывает?
Re[8]: Unicode && AJAX
От: Mimi  
Дата: 23.10.06 11:58
Оценка:
Здравствуйте, Lucker, Вы писали:

L>Здравствуйте, Mimi, Вы писали:


M>>Я потом в логи вывожу — проверяю, какой инкодинг.. и заодно вывожу буффер XML-я, все зашибись. Пишу XML в файл, открываю IE, все ок. А вот на странице где JavaScript берет responseXML уже все кривое. Хотя там тоже UTF-8.. Теряюсь в догадках...


L>а если напрямую отправить такой запрос из браузера, тоже все в порядке?


Ой.. не-а
Если просто сервлет в браузере запустить (без всего application-а) то XML показывается кривой (т.е. с нечитабельными русскими символами). Хм..
Re[2]: Unicode && AJAX
От: Аноним  
Дата: 23.10.06 11:59
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Mimi, Вы писали:


M>>Но каким-то хамским образом, AJAX умудряется наплевать на UTF, и показывает вот такую белиберду РљСѓРєСѓ


B>Вид — Кодировка а браузере что показывает?


В том фрейме, где у меня Ajax юзается -- Unicode(UTF-8)
А если просто сервлет в браузере запустить (без всего application-а) то XML показывается кривой (т.е. с нечитабельными русскими символами) и кодировка правым кликом получается просто Unicode и конечно все кодировки disabled..
Re[9]: Unicode && AJAX
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 23.10.06 12:14
Оценка:
Здравствуйте, Mimi, Вы писали:

M>Ой.. не-а

M>Если просто сервлет в браузере запустить (без всего application-а) то XML показывается кривой (т.е. с нечитабельными русскими символами). Хм..

ну т.е. понятно куда копать. проверь, что действительно перед твоим сервлетом не стоит фильтров, вызывающих getWriter ответа.
Re: Unicode && AJAX
От: Аноним  
Дата: 23.10.06 12:16
Оценка:
Здравствуйте, Mimi, Вы писали:

я извиняюсь, а вдруг....
может в самом XML этого нету?

<?xml version=\"1.0\" encoding=\"UTF-8\" ?>

Re[2]: Unicode && AJAX
От: Yuri Khomich  
Дата: 23.10.06 12:26
Оценка:
Hello, !
You wrote on Mon, 23 Oct 2006 12:16:19 GMT:

А> я извиняюсь, а вдруг....

А> может в самом XML этого нету?

А>

А> <?xml version=\"1.0\" encoding=\"UTF-8\" ?>


UTF-8 является для XML кодировкой по умолчанию.
Posted via RSDN NNTP Server 2.0
Re[2]: Unicode && AJAX
От: Mimi  
Дата: 23.10.06 12:40
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Mimi, Вы писали:


А>я извиняюсь, а вдруг....

А>может в самом XML этого нету?

А>

А><?xml version=\"1.0\" encoding=\"UTF-8\" ?>


Нет, оно точно есть
Re[10]: Unicode && AJAX
От: Mimi  
Дата: 23.10.06 13:13
Оценка:
Здравствуйте, Lucker, Вы писали:

L>Здравствуйте, Mimi, Вы писали:


M>>Ой.. не-а

M>>Если просто сервлет в браузере запустить (без всего application-а) то XML показывается кривой (т.е. с нечитабельными русскими символами). Хм..

L>ну т.е. понятно куда копать. проверь, что действительно перед твоим сервлетом не стоит фильтров, вызывающих getWriter ответа.


Да, видимо это портачит мой PrintWriter, потому как в лог и в файл пишется ок. Буду искать...
Re[10]: Unicode && AJAX
От: Mimi  
Дата: 23.10.06 13:31
Оценка:
Здравствуйте, Lucker, Вы писали:

L>Здравствуйте, Mimi, Вы писали:


M>>Ой.. не-а

M>>Если просто сервлет в браузере запустить (без всего application-а) то XML показывается кривой (т.е. с нечитабельными русскими символами). Хм..

L>ну т.е. понятно куда копать. проверь, что действительно перед твоим сервлетом не стоит фильтров, вызывающих getWriter ответа.


Блинн.. приколитесь:
В сервлете поменяла (так, эксперимента ради, кодировку на Windows-1252), и все показывается как надо. Хотя, XML мне приходит в мой сервлет в утф-8, как такое может быть?
Re[10]: Unicode && AJAX
От: Mimi  
Дата: 23.10.06 14:04
Оценка: -1
Здравствуйте, Lucker, Вы писали:

L>Здравствуйте, Mimi, Вы писали:


M>>Ой.. не-а

M>>Если просто сервлет в браузере запустить (без всего application-а) то XML показывается кривой (т.е. с нечитабельными русскими символами). Хм..

L>ну т.е. понятно куда копать. проверь, что действительно перед твоим сервлетом не стоит фильтров, вызывающих getWriter ответа.


Хм... нашла решение вот какое. Перед "отправкой" из сервлета out.print-ом, я добавила

String toOut = new String(xmlBuf.getBytes("Cp1251"), Globals.ENCODING); // который UTF-8

И все зашибись...
Всем спасибо за помощь!!!

все, ушла пить пиво
Re[11]: Unicode && AJAX
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 23.10.06 14:16
Оценка: +1
Здравствуйте, Mimi, Вы писали:

M>
M>String toOut = new String(xmlBuf.getBytes("Cp1251"), Globals.ENCODING); // который UTF-8
M>

M>И все зашибись...
M>Всем спасибо за помощь!!!

мдя. таки xml не правильный приходит, ножон UTF-8 а имеете Cp1251. Не хорошо обманывать то людей.
Re[10]: Unicode && AJAX
От: Mimi  
Дата: 23.10.06 14:17
Оценка:
Здравствуйте, Lucker, Вы писали:

L>Здравствуйте, Mimi, Вы писали:


M>>Ой.. не-а

M>>Если просто сервлет в браузере запустить (без всего application-а) то XML показывается кривой (т.е. с нечитабельными русскими символами). Хм..

L>ну т.е. понятно куда копать. проверь, что действительно перед твоим сервлетом не стоит фильтров, вызывающих getWriter ответа.


Вот какая штука получилась (фрагменты двух фреймов)
лляляляляя.. ура!
Re[11]: Unicode && AJAX
От: Mycopka Россия http://mhehue.info
Дата: 24.10.06 06:27
Оценка:
Здравствуйте, Mimi, Вы писали:

M>Блинн.. приколитесь:

M>В сервлете поменяла (так, эксперимента ради, кодировку на Windows-1252), и все показывается как надо. Хотя, XML мне приходит в мой сервлет в утф-8, как такое может быть?

Я уже говорил как:

передано куда-то как "Windows-1251", а результат выдан в сервлет, где жестко определено, что это опять же "UTF-8"

Показывается ка надо, потому что сделала обратную перекодировку.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
---
With best regards и все такое :)
Re[11]: Unicode && AJAX
От: Mycopka Россия http://mhehue.info
Дата: 24.10.06 06:36
Оценка:
Здравствуйте, Mimi, Вы писали:

M>Хм... нашла решение вот какое. Перед "отправкой" из сервлета out.print-ом, я добавила


M>
String toOut = new String(xmlBuf.getBytes("Cp1251"), Globals.ENCODING); // который UTF-8

M>И все зашибись...

Не зашибись. Ты так и не нашла причину, кучка перекодировок не выход. Ужасно когда ставят костыли, а все дальнейшие подсистемы строятся уже на основе этого костыля (типа искусственного создания исправляющих друг друга ошибок). И когда кто-то потом найдет эту ошибку, ее исправление может быть очень трудоемким, поскольку на ней уже будет многое завязано.

З.Ы.
M>все, ушла пить пиво
Ранова-то еще
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
---
With best regards и все такое :)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.