Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
mysql win2000 JSP кодировка (-lexa-) 12/05/2002 - 18:54:09



From: -lexa- - 12/05/2002 - 18:54:09
Subject:mysql win2000 JSP кодировка
-----------------
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. распечатка команды status в mysql приведена ниже.
Вероятно у меня неправильное сочетание кодировки в базе и Jave или я не правильно конвертирую строки в Jave. подскажите плз корректные настройки или действия. Сразу говорю доку
http://people.comita.spb.ru/users/sergeya/java/ruschars.html
я читал. И вроде сделал все по примеру с
http://example.inc.ru/
ней и по примеру с- но вероятно проблема в ДНК .....
Необходимо получить отображение на странице данных из базы в кодировке windows-1251 и корректно работающий INSERT , из javы который тоже не работает....

Вот код JSP
[code]
<%@page import="java.sql.*"%>
<%@page import="java.io.*"%>
<%@page import="java.util.*"%>
<%@page contentType="text/html; charset=Windows-1251" %>


<html>

<body>

<%

try {
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");


Connection con = DriverManager.getConnection("jdbc:mysql://localhost/compbook", connInfo);
Statement st = con.createStatement();
/* do query */
ResultSet rs = st.executeQuery("select id,name,questCount from test");

%>

<TABLE>11
<tr><td>p1</td><td>p2</td></tr>
<% while (rs.next()) { %>
<TR><% for(int i=2;i<=3;i++){%>
<TD><%= new String(rs.getString(i).getBytes("latin1"),"Cp1251") %></TD>
<TD><%= new String( rs.getString(i) ) %></TD>
<% } %>
</TR>
<% } %>

</TABLE>


<%
rs.close();
st.close();
} catch (Exception e) {
throw (new ServletException(e));
}

%>
[/code]


Настройки Mysql
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



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
2881



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |