0 / 0 / 1
Регистрация: 11.07.2008
Сообщений: 11
|
|
1 | |
Проблема кодировоки Tomcat и Java11.07.2008, 17:27. Показов 3000. Ответов 13
Метки нет (Все метки)
Здравствуйте
Не работал с Tomcat и Java. Работал с Apache и технологиями типа Perl php итп . Проблем с кодировоками вроде особых не было ... не могли бы вы пояснить когда при использовании Java технологий такие поблемы у меня появятся и как лучше с ними бороться - в какойто из тем шла речь о библиотеке com.NationalServlets прикручиваемой к Tomcat - что это за зверь ? и актуальлен ли он только под Linux ?
0
|
11.07.2008, 17:27 | |
Ответы с готовыми решениями:
13
Проблема переноса с Tomcat 4 на Tomcat 5 Проблема с Tomcat Проблема с сервером Tomcat Tomcat + Java + Selenium |
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 22
|
|
13.07.2008, 10:07 | 2 |
Проблемы возникнут при попытке передать из html-формы строки в кириллической кодировке. Вместо русских букв в Tomcat'е придут '???'. Решение этой проблемы - использование пакета com.NationalServlets, все о нем - на servlets.chat.ru . И речь не об его использовании в Tomcat'е, а об его использовании в Java-коде.
Как ведет себя Tomcat под Windows, затрудняюсь сказать, есть подозрения, что так же.
0
|
0 / 0 / 1
Регистрация: 11.07.2008
Сообщений: 11
|
|
13.07.2008, 11:24 [ТС] | 3 |
То есть решения для уже разработанной прилаги нет?
Есть web прилага , которая суть которой грубо говоря сводится к заполнению html формы и сохранению заполненного в БД. При заполнении формы латиницей все ок, при использовании кирилицы - ????? в БД идут Код прилаги править нет возможности. Есть ли какое либо решение позволяющее фиксировать данное? Дописать чтото свое к прилаги фиксирующее баг или средствами веб сервера?
0
|
Rina
|
|
13.07.2008, 11:31 | 4 |
У ьеня была такая проблема и править пришлось сам код.
|
0 / 0 / 0
Регистрация: 06.07.2008
Сообщений: 22
|
|
13.07.2008, 11:37 | 5 |
Использование NationalServlets предполагает изменение Java-кода (вместо request будет использоваться экземпляр другого класса).
Если не получается править код, то, может, получится сменить Tomcat на что-нибудь другое? Resin, например.
0
|
4 / 4 / 0
Регистрация: 22.10.2007
Сообщений: 234
|
|
13.07.2008, 12:03 | 6 |
У меня такая же проблема с Tomcat и Java: ну никак не могу нормально выдрать из html-формы русские символы ( .....
0
|
Eugeny
|
|
14.07.2008, 13:32 | 7 |
Чтобы нормально принимать русские буквы из html формы надо поставить Tomcat4.0. В начале метода doPost() написать: request.setCharacterEncoding('Cp1251');
При компиляции использовать библиотеку c:/tomcat/common/lib/servlet.jar. |
0 / 0 / 1
Регистрация: 11.07.2008
Сообщений: 11
|
|
15.07.2008, 11:15 [ТС] | 8 |
Из всего вышесказанного получается что при невозможности исправления кода остается менять сервер
попробовать можно
0
|
Rina
|
|
15.07.2008, 13:31 | 9 |
Зачем менять сервер ведь правится всего несколько строк кода ?
|
sereja
|
|
15.07.2008, 17:52 | 10 |
Действительно, править немного. Есть 2 решения:
1.Для *.jsp в начало страницы нужно вставить Код
<%@ page contentType='text/html; charset=windows-1251' %> Код
<%@ page contentType='text/html;%> Код
response.setLocale(new java.util.Locale('ru', 'ru', '')); response.setContentType('text/html; charset=windows-1251'); Код
private static final String CONTENT_TYPE = 'text/html; charset=windows-1251'; ............................ response.setContentType(CONTENT_TYPE); Кстати, у меня такие проблемы возникали и при возвращении значений из базы данных, и при распозновании содержимого форм.(В этом случае я использовал только Код
CONTENT_TYPE = 'text/html' Код
charset=windows-1251 |
Eugeny
|
|
20.07.2008, 09:45 | 11 |
Менять сервер на Tomcat 4.0 надо для поддержки спецификации сервлетов 2.3. Только в ней есть метод setCharacterEncoding(). Метод setContentType() устанавливает кодировку только для вывода.
|
grand
|
|
21.07.2008, 15:14 | 12 |
я делаю так
String NAMEBANK=new String(request.getParameter('NAMEBANK').getBytes(requestEnc),clientEnc); где protected final static String requestEnc='ISO-8859-1'; protected final static String clientEnc='KOI8-R'; страницы я выдаю в KOI-8, а в базе данные хранятся в виндовой кодировке 1251 |
0 / 0 / 1
Регистрация: 11.07.2008
Сообщений: 11
|
||||||
22.07.2008, 22:40 [ТС] | 13 | |||||
Проблемы возникли с базой
mysql win2000 JSP кодировка - не могу извлечь SELECTom из БД русские поля -они приходят в кодировке Cirilic(DOS) в меню IE Использую JBuilder. т.е. JDK (jdk1.3.1) и все прочее пришло с ним Web Server - Apache 1.3 и Tomcat jakarta-tomcat-3.2.3 Редактирую JSP в HomeSite-e Проблема в следующем - при выполнении запроса к базе несмотря на <%@page contentType='text/html; charset=Windows-1251' %> и Class.forName('org.gjt.mm.mysql.Driver'); Properties connInfo = new Properties(); connInfo.put('user', '1'); connInfo.put('password', '1'); connInfo.put('useUnicode', 'true'); connInfo.put('characterEncoding', 'Cp1251'); Имеем в браузере данные из базы не в кодировке cp1251 а в кодировке по терминологии браузера IE Cirilic(DOS) - вероятно это latin1 ...... пробовал ставить default-character-set=win1251 в [mysqld] и [client] - ничего не меняется данные в базу вводил с командной строки из утилиты mysql.exe. распечатка команды status в mysql приведена ниже. Вероятно у меня неправильное сочетание кодировки в базе и Jave или я не правильно конвертирую строки в Jave. подскажите плз корректные настройки или действия. Сразу говорю доку http://people.comita.spb.ru/us... chars.html я читал. И вроде сделал все по примеру с http://example.inc.ru/ ней и по примеру с- но вероятно проблема в ДНК ..... Необходимо получить отображение на странице данных из базы в кодировке windows-1251 и корректно работающий INSERT с SELECT, INSERT из javы тоже не работает.... Вот код JSP
mysql>status дает Connection id: 1 Current database: compbook Current user: ODBC@localhost Server version: 3.23.49-nt Protocol version: 10 Connection: . via named pipe Client characterset: latin1 Server characterset: latin1 UNIX socket: MySQL Uptime: 3 hours 6 min 59 sec
0
|
0 / 0 / 0
Регистрация: 17.07.2008
Сообщений: 6
|
|
22.07.2008, 23:09 | 14 |
всё это хорошо когда приходится работать токо с русскими и англицкими
буковками а если нада ишо другие так у клиента вдруг не оказывается кодировочки koi8-r. Я делаю так. 1)На клиенте странички в UTF-8 2)в базе тож 3)и отдаю из базы тож в UTF-8 (токо когда конектюсь к базе то говорю что мне нужны данные в UTF-8) вот и всё. И тогда довольны и немцы и китайцы и русские не в обиде. Для того-то и был придуман Unicode чтоб в инете его юзать. --------------- Ребята, давайте жить дружно! (с) Кот Леопольд.
0
|
22.07.2008, 23:09 | |
22.07.2008, 23:09 | |
Помогаю со студенческими работами здесь
14
Проблема с элементом Realm (Tomcat 4.1.24) Проблема настройки секьюрити в Tomcat Linux apache tomcat 7 java 8 Web-app Java Tomcat Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |