jsp Problem z polskimi znakami

0

Witam.

Robię pobieranie pliku z bazy mysql. W bazie mam pole plik (zawierające zawartość pliku) oraz nazwa_pliku (zawierające nazwę pliku). Jak pobieram plik i w nazwie są polskie znaczki, to np zamiast nazwy "ęóąśłżźćń.gif" daje "-ó-[B-z-D.gif".
W bazie mam oczywiście kodowanie utf-8 i wszystko jest zapisywane jak należy. Na stronie również wszystko wyświetlane jest prawidłowo. Już sam nie wiem co jest nie tak:/

Mój kod wygląda następująco

		ResultSet rs_plik = null;
		Connection con = null;
		Statement stmt= null;
		String connectionURL = "jdbc:mysql://localhost/pliki?useUnicode=yes&characterEncoding=utf8"";
		
		try {
			Class.forName("com.mysql.jdbc.Driver");
			con = DriverManager.getConnection(connectionURL, "root", "");
			stmt=con.createStatement();
			rs_plik = stmt.executeQuery("SELECT plik, nazwa_pliku FROM pliki where id_plik = '"+ id + "';");
			if (rs_att.next()) {
				String nazwa = rs_att.getString(2);
				out.print("nazwa: "+nazwa);
				InputStream fileInputStream = rs_att.getBinaryStream(1);

				response.reset();
				response.setCharacterEncoding("UTF-8");
				response.setContentType("application/image");
				response.setHeader("Content-disposition","attachment; filename=" + nazwa);

				int i;
				while ((i = fileInputStream.read()) != -1) {
					response.getOutputStream().write(i);
				}
				response.getOutputStream().flush();
				fileInputStream.close();
			}
		}
		catch (ClassNotFoundException e) {
			try {
				throw new ServletException("JDBC Driver not found.", e);
			} catch (ServletException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		finally {
			try {
			}
			catch (Exception e) {
				e.printStackTrace();
			}
		}

Proszę o pomoc.

0

Poradziłeś sobie z tym problemem? Bo mam podobną sytuacje:/

1 użytkowników online, w tym zalogowanych: 0, gości: 1