на сервере целевая таблица в cp1251
CREATE TABLE `sjf`.`rubric` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(64) NOT NULL,
`titul` VARCHAR(512) NOT NULL,
`valid` BOOLEAN NOT NULL,
`ref` INTEGER UNSIGNED NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE = InnoDB
CHARACTER SET cp1251 COLLATE cp1251_general_ci;
в еклипсовой консоли кодировка тоже cp1251
следующий код почему-то выводит знаки вопросов вместо текста
Class.forName( "com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection( "jdbc:mysql://localhost/sjf", "root", "qqqqqq");
Statement st = con.createStatement();
st.executeUpdate( "insert into groupx( name, titul, valid) values( 'фыва', 'фыва', true);");
ResultSet rs = st.executeQuery( "select * from groupx;");
while( rs.next()){
System.out.println( rs.getString( 2));
}
а если в нём добавить параметр кодировки characterEncoding
Connection con = DriverManager.getConnection( "jdbc:mysql://localhost/sjf?characterEncoding=cp1251", "root", "qqqqqq");
то ловим эксептион
java.sql.SQLException: Incorrect string value: '\xF4\xFB\xE2\xE0' for column 'name' at row 1
окружение
vista sp1
jdk 1.6
mysql 5.1.31
mysql connector 5.1.8
27.04.10 10:30: Перенесено модератором из 'Java' — Blazkowicz