Привет!
>> Влад, умоляю, ставлю бутылку Firebird - покажи пример, как этот чарсет >> прописать! Везде говорится, что его надо указывать, но как - зажали. Так, похоже Влад завязал и уже не пьет. Куда мир катится... >> Делали так: >> Properties connInfo = new Properties(); >> connInfo.put("user", "sysdba"); >> connInfo.put("password", "masterkey"); >> connInfo.put("charSet", "UTF-8"); >> Connection con = DriverManager.getConnection (url, connInfo); >> ...... >> >> Но материццо!!! > Вроде правильно, можно попробовать вместо charSet указать > put("encoding", "UTF8"). В общем, все оказалось гораздо проще: --------------------------------------------------- 1. добавляем <%@ page import ="java.util.*" %> 2. вместо строки Connection con = DriverManager.getConnection (url,"sysdba","masterkey"); пишем Properties connInfo = new java.util.Properties(); connInfo.put("user", "sysdba"); connInfo.put("password", "masterkey"); connInfo.put("charSet", "UTF-8"); //Works correct //connInfo.put("encoding", "UTF8"); //Works correct too //connInfo.put("charSet", "UTF8"); //Incorrect:The server encountered an internal error... Connection con = DriverManager.getConnection (url, connInfo); 3. запускаем - все работает..;-) все три строки (EN, RO и RU) записываются в базу в уникоде и правильно считываются из нее... 4. нужно еще будет при чтении первой строки пропустить 3 первых байта... в этом варианте они тоже вписались в базу... хотя в результате jsp и не видны... но это уже другая история...:-)) <[EMAIL PROTECTED] contentType="text/html"%> <[EMAIL PROTECTED] pageEncoding="UTF-8"%> <%@ page import ="java.net.*" %> <%@ page import ="java.sql.*" %> <%@ page import ="java.io.*" %> <%@ page import ="java.util.*" %> <html> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head> <body> <% String url = "jdbc:firebirdsql://localhost:3050/test1"; Class.forName("org.firebirdsql.jdbc.FBDriver"); //Load driver //Connection con = DriverManager.getConnection (url,"sysdba","masterkey"); Properties connInfo = new java.util.Properties(); connInfo.put("user", "sysdba"); connInfo.put("password", "masterkey"); connInfo.put("charSet", "UTF-8"); //Works correct //connInfo.put("encoding", "UTF8"); //Works correct too //connInfo.put("charSet", "UTF8"); //Incorrect : The server encountered an internal error... Connection con = DriverManager.getConnection (url, connInfo); Statement stmt = con.createStatement(); //Let's read Unicode format from file. There are lines: three languages BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("D:/db/WebApplication2/utf8.txt"),"UTF-8")); String utf_correct = br.readLine(); out.println("Correct string EN: " + utf_correct); String str = "INSERT INTO language (name) VALUES(?)"; PreparedStatement ps = con.prepareStatement(str); ps.setString(1, utf_correct); ps.executeUpdate(); %><br><% utf_correct = br.readLine(); out.println("Correct string RO: " + utf_correct); ps.setString(1, utf_correct); ps.executeUpdate(); %><br><% utf_correct = br.readLine(); out.println("Correct string RU: " + utf_correct); ps.setString(1, utf_correct); ps.executeUpdate(); br.close(); %><br><br><% stmt = con.createStatement(); ResultSet result = stmt.executeQuery("SELECT * FROM language"); int i=0; while (result.next()) { int id = result.getInt("language_id"); String name = result.getString("name"); out.println("ID: " + id); out.println("Name: " + name); %><br><% i++; } %> </body> </html> --------------------------------------------------- Всем откликнувшимся - спасибо, ларчик открывался просто. Теперь у меня спокойная рабочая обстановка на работе и дома :)) -- Best regards, Sergey mailto:[EMAIL PROTECTED]