Резултати от 1 до 3 от общо 3

JSP MYSQL JAVA И енкодинг проблеми

Сподели във Facebook Сподели в Twitter Изпрати на Email Сподели в LinkedIn
  1. Novice
    Тук е от
    Jul 2006
    Мнения
    1
    #1

    JSP MYSQL JAVA И енкодинг проблеми

    Здравейте.
    От няколко дни се въртя в омагьосан кръг. Вече съм изтощен и имам нужда от помощ. Та проблема се състои в следното...

    Оптивам се чрез йава биин да въведа в МайЕсКюел Дб String

    ето кода на биина. Метода е createCategory();

    Manipulator.java --->

    package database;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.sql.PreparedStatement;
    import java.net.URLDecoder;
    public class Manipulator {


    public Connection conn;
    public Statement stat;
    public PreparedStatement pstat;
    public ResultSet res;

    public Manipulator() {

    }

    public void connect() {
    try {
    Class.forName("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection("jdbc:mysql://localhost/Photos?user=Photo_admin&password=qwerty");

    } catch (ClassNotFoundException cnfe) {
    System.err.println(cnfe);

    }
    catch (SQLException sqle) {
    System.err.println(sqle);

    }
    }

    public void shutdown() {
    try {
    stat.execute("SHUTDOWN");
    conn.close();
    } catch (SQLException e) {

    e.printStackTrace();
    }


    }



    public void createCategory(String category_name) {
    try {
    pstat = conn.prepareStatement("INSERT INTO categories (name) VALUES (?)");
    pstat.setString(1,category_name);
    pstat.execute();
    } catch (SQLException e) {
    System.err.println(e);
    }
    }



    public void delCategory(String the_category) {
    try {
    pstat = conn.prepareStatement("DELETE FROM categories WHERE name = (?)");
    pstat.setString(1,the_category);
    pstat.execute();
    } catch (SQLException e) {

    e.printStackTrace();
    }

    }

    public ResultSet getCategories() {

    try {
    stat = conn.createStatement();
    res= stat.executeQuery("SELECT name FROM categories");

    } catch (SQLException e) {

    e.printStackTrace();
    }
    return res;
    }

    public void setEncoding() {
    try {
    stat = conn.createStatement();
    stat.executeQuery("SET NAMES utf8");
    stat.executeQuery("SET CHARACTER SET utf8");
    stat.executeQuery("SET character_set_results = utf8");
    stat.executeQuery("SET character_set_connection = utf8");
    stat.executeQuery("SET character_set_database = utf8");
    stat.executeQuery("SET character_set_server = utf8");
    stat.executeQuery("SET character_set_server = utf8");

    } catch (SQLException e) {

    e.printStackTrace();
    }
    }



    public ResultSet getEncoding() {

    try {
    stat = conn.createStatement();

    res= stat.executeQuery("SHOW VARIABLES LIKE 'collation%'");

    } catch (SQLException e) {

    e.printStackTrace();
    }
    return res;
    }





    }

    ----------------------------------------------------------------

    Това което се озовава в майескюел след команда от сорта на

    M.createCategory("категория");
    e

    +-------------+----------+
    | category_id | name |
    +-------------+----------+
    | 3 | ??? |
    | 4 | ????? ?? |
    | 5 | ??? |
    | 6 | ??? |
    | 7 | ??? |


    --------------------------------------

    Принципно биина работи със jsp което му подава като параметър името на категорията.
    И там имах много перипетии, но засега успях да постигна като направя
    out.println(request.getParameter("category_name"));
    и да получавам разичатща се кирилица.

    Това което ме интересува е, как да успея чрез йава биина да въведа в майескюел кирилица.

    Ще приложа и йсп файловете също.


    category.jsp -->

    <?xml version="1.0" encoding="utf-8" ?>
    <%@ page language="java"
    import ="java.sql.*"
    contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"



    %>



    <link rel=stylesheet type="text/css" href="style.css"/>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm...sitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Администраторски панел: Категории</title>
    </head>
    <body>

    <div class="navigation_bar">
    <a class="nav_links" href="years.jsp">Години</a>
    <a id="uberlink" class="nav_links" href="category.jsp">Категории</a>
    <a class="nav_links" href="pictures.jsp">Добавяне на снимки</a>
    </div>


    <div class="table" >
    <b class="title">Списък с категории:</b><br/><br/>


    <table cellspacing="5" cellpadding="2">
    <jsp:useBean id="M" scope="page" class="database.Manipulator"></jsp:useBean>

    <%
    ResultSet result;
    String name;
    M.connect();
    M.setEncoding();
    result = M.getCategories();
    while(result.next()) {
    name = result.getString("name");


    %>




    <tr>
    <td class="name" ><%=name %></td>
    <td><a class="category_links" href="edit_category_jsp">Редактирай</a></td>
    <td><a class="category_links" href="del_category.jsp?category_name=<%=name%>">Изтрий</a></td>
    <td><a class="category_links" href="view_category_content.jsp?category_name=<%=name %>">Разгледай съдържанието</a></td>
    </tr>
    <% }
    %>


    </table>
    <br/>
    <b class="title">Добавяне на категории: </b><br/><br/>

    <form action="add_category.jsp" method="get">
    <input type ="text" name="category_name" size="20" />
    <input type ="submit" value="Добави"/>
    </form>

    </div>
    <a class ="goto" href="../index.jsp">Отвори фотогалерията</a>
    </body>
    </html>


    -------------------------


    add_category.jsp -->

    <?xml version="1.0" encoding="UTF-8" ?>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm...sitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title></title>
    </head>
    <body>

    <jsp:useBean id="M" scope="page" class="database.Manipulator"/>


    <%
    M.connect();
    M.setEncoding();
    request.setCharacterEncoding("UTF-8");
    String name = request.getParameter("category_name");
    M.createCategory(utfName);
    %>
    <jsp:forward page="category.jsp"></jsp:forward>


    </body>
    </html>




  2.  
     
  3. Junior Member
    Тук е от
    Apr 2002
    Мнения
    94
    #2

    Re: JSP MYSQL JAVA И енкодинг проблеми

    Първо при създаването на базата ти данни трябва да зададеш точно кодовата таблица която ще ползваш. При MySQL версия по-стара от 4.1, имаш възможност да сложиш един енкодинг за целия сървър. След 4.1 има възможност да зададеш такъв за всяка база.

    В DriverManager-a слагай накрая

    &characterEncoding=utf8

    т.е. в твоя случай да стане

    conn&#160; = DriverManager.getConnection("jdbc:mysql://localhost/Photos?user=Photo_admin&password=qwerty&characterEncoding=utf8");


    Всеки JSP файл да почва с

    <%@ page language="java" contentType="text/html; charset=UTF-8" %>

    чак след него мета таговете и другите салтанати... Веднага след <body> сложи едно

    request.setCharacterEncoding("UTF-8");


    Пиши дали си се справил. Преди години се борих с този проблем... и оттогава намразих Кирил и Методий...

  4. Senior Member
    Тук е от
    Dec 2004
    Мнения
    1,563
    #3

    Re: JSP MYSQL JAVA И енкодинг проблеми

    Тук не виждаме CREATE на таблицата...дали е създадена с charset utf-8?

    //едновременно се получи

Сподели във Facebook Сподели в Google Plus Сподели в Twitter Изпрати на Email Сподели в LinkedIn

Подобни теми

  1. Проблеми с кирилица и MySQL
    От zloRadi във форум Програмиране
    Отговори: 5
    Последно: 23-04-07, 23:09
  2. PHP, MySQL,
    От Adrasteja във форум Уебдизайн и 3D
    Отговори: 2
    Последно: 02-11-06, 16:07
  3. PHP MyAdmin export-import и енкодинг проблем
    От Edin_Lud във форум Общ - софтуер
    Отговори: 4
    Последно: 20-08-06, 01:14
  4. apt-get update, debian sarge, mysql проблеми
    От kaliobg във форум Linux
    Отговори: 2
    Последно: 05-08-05, 11:39
  5. PHP & MySQL проблем
    От The Mask във форум Уебдизайн и 3D
    Отговори: 2
    Последно: 17-09-04, 11:51

SetCombG.com
SetCombG.com е портален сайт и Форум за битова техника, телевизори, климатици, лаптопи и смартфони, създаден през 1999 година.
Заедно сме над 20 години!
Следвай ни
Горе