powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Mysql5.0 JSP Кодировка
6 сообщений из 6, страница 1 из 1
Mysql5.0 JSP Кодировка
    #34024496
rukus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При чтении из БД крокозябры :(
Кто может помочь - подробная инфа ниже:

Используется MySQL5.0.22
в базе выставлено:
Character Set: utf8
Collation: utf8_general_ci

Используется:
mysql-connector-java-3.0.11-stable.zip

Есть такая JSP:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8"%>
<%@ page  import ="beans.GetParamBean"%>
<%@ page  import ="org.apache.struts.util.PropertyMessageResources"%>
<%@ taglib prefix="html" uri="/tags/struts-html"%>
<%@ taglib prefix="bean" uri="/tags/struts-bean"%>
<html:html locale="true">
<head>
    <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8" />
    <style>
	body { background: white; color: black; }
	input { width: 120px; }
</style>
<title>Test task</title>
<link type="text/css" rel="stylesheet" href="xtree.css">
<html:base/>
<script src="xtree.js"></script>
</head>
<body bgcolor=white leftmargin= 0  topmargin= 0  marginheight="0" marginwidth="0" onResize="if (navigator.family == 'nn4') window.location.reload()" style="font-family:Arial">
<p>
</p>
            <span>
                <script>
             if  (document.getElementById) {
             var Root =  new  WebFXTree('Root', "javascript:go('ViewSection.do?id=0')");
	        Root.setBehavior('classic');
            vart= new  Array();
            <% GetParamBean pb= new  GetParamBean(request.getSession().getServletContext().getRealPath(""));
            out.println(pb.getFolder( 0 ));
            %>
            document.write(Root);
                }
                </script>
            <noscript>
           A tree  for  site navigation will open here  if  you enable JavaScript in your browser
            </noscript>
            </span>
</body>
</html:html>

Текст функций бина:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
 public  String getFolder( int  id){
        ResultSet rs;
        String formatted="";
        Connection con= null ;
         try {
             Class .forName(class_name);
            con=DriverManager.getConnection(url, user, password);
            Statement st=con.createStatement();
            st.execute("SET NAMES 'utf8'");
            rs=st.executeQuery("select * from "+table_name+" where parentId="+id+" AND isParam='N'");
            formatted=formatChildrenJS(rs);
            rs.close();
            st.close();
        }  catch  (ClassNotFoundException e){
            error="Class not found org.gjt.mm.mysql.Driver";
        }
         catch  (SQLException e){
            error="Can't establish connection to "+url;
        }
        finally {
            try {
                if (con!=null) con.close();
            } catch (SQLException e) {
                e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
            }
        }
        return formatted;
    }
    private String formatChildrenJS(ResultSet rs) throws SQLException {
        StringBuffer l_ch = new StringBuffer();
        while (rs.next()){
            String parent;
            if (rs.getInt("parentId")==0) //aka Root
                parent="Root";
            else parent="vart["+rs.getInt("parentId")+"]";
            String self="vart["+rs.getInt("id")+"]";
            String link="\"javascript:go('ViewSection.do?id="+rs.getInt("id")+"');\"";
            String text=rs.getString("text");
            text=text.replace("\\", "\\\\");
            text=text.replace("\"", "\\\"");
            if (parent.equals("Root")) { //добавление картинок - если в root
                String folderIcon="foldericon.png"; //default
                String folderOpenIcon="openfoldericon.png";  //default
                if (rs.getString("folderIcon")!=null && !rs.getString("folderIcon").equals("")) folderIcon=rs.getString("folderIcon");
                if (rs.getString("folderOpenIcon")!=null && !rs.getString("folderOpenIcon").equals("")) folderOpenIcon=rs.getString("folderOpenIcon");
                l_ch.append(self+"=new WebFXTreeItem(\""+text+"\", "+link+", "+parent+", 'icons/" +folderIcon+
                        "', 'icons/"+folderOpenIcon+"');\n");
            }
             else 
                l_ch.append(self+"=new WebFXTreeItem(\""+text+"\", "+link+", "+parent+");\n");
            l_ch.append(getFolder(rs.getInt("id")));
        }
         return  l_ch.toString();
    }

используются такие настройки:
параметры подключения

url:
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf-8
table:
treet
user:
root
password:
1
Connector-class:
org.gjt.mm.mysql.Driver
...
Рейтинг: 0 / 0
Mysql5.0 JSP Кодировка
    #34024550
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если проблема возникла при переходе на новую версию Tomcat (как я понял из предыдущего Вашего топика), то советую обратить внимание на настройку useBodyEncodingForURI в коннекторе Tomcat-а
...
Рейтинг: 0 / 0
Mysql5.0 JSP Кодировка
    #34024551
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения - не уловил что при чтении (думал про запись).
А как данные попали в базу?
...
Рейтинг: 0 / 0
Mysql5.0 JSP Кодировка
    #34024719
rukus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KachalovПрошу прощения - не уловил что при чтении (думал про запись).
А как данные попали в базу?
EMS MySQL manager 2005
...
Рейтинг: 0 / 0
Mysql5.0 JSP Кодировка
    #34024720
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно Вы осуществили экспорт (занесение) данных не в той кодировке, которая используется web-приложением.
...
Рейтинг: 0 / 0
Mysql5.0 JSP Кодировка
    #34024728
rukus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KachalovВозможно Вы осуществили экспорт (занесение) данных не в той кодировке, которая используется web-приложением.
так и есть - поставил MySQL-Front там тоже кракозябры....
Занес в нормально и все пошло-поехало...
спс
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Mysql5.0 JSP Кодировка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]