Здравейте.
От няколко дни се въртя в омагьосан кръг. Вече съм изтощен и имам нужда от помощ. Та проблема се състои в следното...
Оптивам се чрез йава биин да въведа в МайЕсКюел Дб 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>