PDA

Просмотр полной версии : Баг с кодировкой


MariaS
29.04.2007, 01:04
Доброе время суток, уважаемые. Просмотрела кучу постов по этой теме. Испробовала кучу способов, но проблему не решила. Загружаемый русский текст отображается, чтоб ему провалиться, квадратиками. Текст из htm-файла, который создается динамически на сервере с помощью jsp-шаблонов (не php). Я и так крутила и эдак, и насильно кодировку UTF-8 указывала и System.useCodePage = true прописывала, даже пыталась решить проблему с помощью escape(), но все усилия мои были тщетны. Подскажите, что мне сделать, где что почитать. Директор прибъет, если за выходные не решу эту проблму.

etc
29.04.2007, 02:03
Для начала нужно проверить отдельно флеш на работу с utf-8 (загрузить txt, например), а потом проверить, в нужной ли кодировке отдает документ сервер.

MariaS
29.04.2007, 02:33
Локально все работает просто прекрасно. И с кодировкой UTF-8 и с кодировкой windows-1251 + System.useCodePage = true. На сервере же - нет. Даже, если "насильно" в структурный шаблон ставлю кодировку UTF-8. Дело вот в чем. Есть флешовая карта. На ней флажками показаны города, где есть филиалы компании. И надо при наведении на флажок выдавать тултип с описанием этого филиала. Причем описания формирует сам "заказчик", т.е. в административной консоли создает статьи. Уже потом, на сервере эти статьи, причем это не txt-документы и не word, хотя по сути очень похожи на него (особенно редактор для их создания), собираются и преобразуются в htm-файл (xml-нельзя создать никак вообще) с помощью специальных шаблонов, написанных на jsp/jstl. Вот. И я думаю, что загвоздка не в шаблонах, а в статьях, т.е. в формате статей. Видимо с ними что-то не так, но, как узнать это, я увы не знаю. Директор болеет, второй дизайнер в отпуске, а срок сдачи проекта, собственно говоря, уже истек. Но, поскольку тут три выходных, время есть. Да, вот еще. Когда я просматриваю через IE, сформированный с помощью шаблонов из статей htm-файл, то там все прекрасно (ну если посмотреть код), все есть, что нужно и никаких кракозябр.

Kikasso
29.04.2007, 06:50
насильно кодировку UTF-8 указывала
Одно дело указать, другое дело выдать в этой кодировке.
Когда я просматриваю через IE, сформированный с помощью шаблонов из статей htm-файл, то там все прекрасно (ну если посмотреть код), все есть, что нужно и никаких кракозябр.В utf-8? Или на автоселекте?

dantist86
30.04.2007, 17:45
Была полгода назад похожая проблемка. У нас буква "ш" и еще пара отображалась квадратиками. Коллега, который ее решил, сейчас празднует. Так что точно сказать в чем вопрос не могу. Помню только, что флеш не имел никакого к данному вопросу отношения и все трудности были на сервере связаны с различными вариантами кодировки UTF-8. Точно не помню-могу соврать.

MariaS
30.04.2007, 20:54
Спасибо всем за советы, но видимо придется ждать будних дней, чтоб получить для начала от директора по шее, а потом попросить, чтоб он звонил программерам, которые эту гребаную cms делали, и мучал их вопросами на эту тему.
Для Kikasso. Если просто смотреть эту страницу, то она пустая (там используются теги, которых нет в htm), а, если смотреть код, то усе нормально. Наверное, dantist86 прав и все дело в том, в какой кодировке формирует эти страницы сервер или cms.

Kikasso
30.04.2007, 21:06
"Все нормально" - вряд ли, иначе бы работало.. Вы можете скопировать код в какой-нибудь редактор, чтобы понять, уникод это или нет? Готов поспорить, что сервер не перекодирует текст, а в чем положили, в том и выдает, и скорее всего это win1251.
System.useCodePage ни в коем разе не true! Только если курс валют забирать с центробанка..

MariaS
02.05.2007, 13:09
И что делать, если win-1251? Я просто и правда не знаю, в какой кодировке статьи отдаются.:o

CorC
02.05.2007, 13:17
перекодировать в utf-8

MariaS
02.05.2007, 13:34
А каким образом это можно сделать? Я не очень хорошо в программировании разбираюсь.:boredom:

CorC
02.05.2007, 15:18
В данном случае это делается не программно, открывается файл в каком-нибудь редакторе (хоть Notepad) и пересохраняется в другой кодировке.