Java « Добавление записей в таблицу MySQL на Java

Добрый день, есть код:
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .java.geshi_code {font-family:monospace;} .java.geshi_code .imp {font-weight: bold; color: red;} .java.geshi_code .kw1 {color: #000000; font-weight: bold;} .java.geshi_code .kw2 {color: #000066; font-weight: bold;} .java.geshi_code .kw3 {color: #003399;} .java.geshi_code .kw4 {color: #000066; font-weight: bold;} .java.geshi_code .co1 {color: #666666; font-style: italic;} .java.geshi_code .co2 {color: #006699;} .java.geshi_code .co3 {color: #008000; font-style: italic; font-weight: bold;} .java.geshi_code .coMULTI {color: #666666; font-style: italic;} .java.geshi_code .es0 {color: #000099; font-weight: bold;} .java.geshi_code .br0 {color: #009900;} .java.geshi_code .sy0 {color: #339933;} .java.geshi_code .st0 {color: #0000ff;} .java.geshi_code .nu0 {color: #cc66cc;} .java.geshi_code .me1 {color: #006633;} .java.geshi_code .me2 {color: #006633;} .java.geshi_code span.xtra { display:block; }

            Connection connection = null;
            Statement stmt;
            String driverName = "com.mysql.jdbc.Driver"; // MySQL MM JDBC driver
            Class.forName(driverName);
            String serverName = "localhost";
            String mydatabase = "database";
            String urldb = "jdbc:mysql://" + serverName +  "/" + mydatabase; // a JDBC url
            String username = "1111";
            String password = "2222";      
            connection = (Connection) DriverManager.getConnection(urldb, username, password);
            connection.setEncoding("UTF-8");
            ....
            String sql = "INSERT INTO table1 VALUES ('" + list.item(i).getNodeValue() + "', " + i + ", desc);";
            stmt = (Statement) connection.createStatement();
            stmt.executeUpdate(sql);
 

строка sql выводится в программе в русских буквах, а в бд заносится в крякозябликах, как решить вопрос?

1 ответов


решил вопрос, добавил в строку соединение изменение кодировки и поменял в бд тип кодировки для поля бд


Использование (пользовательских) данных непосредственно в SQL-запросе:

  • Неэффективно
  • Чревато SQL-инъекциями

Для параметризованных запросов следует использовать PreparedStatement.