Курсовая работа: Java: Русские буквы и не только…
Connection db = DriverManager.getConnection("jdbc:DBF:/C:/MyDBFFiles", connInfo);
Если у Вас DBF-файлы формата FoxPro, то у них своя специфика. Дело в том, что FoxPro сохраняет в заголовке файла ID кодовой страницы (байт со смещением 0x1D), которая использовалась при создании DBF-ки. При открытии таблицы драйвер использует значение из заголовка, а не параметр "CODEPAGEID" (параметр в этом случае используется только при создании новых таблиц). Соответственно, чтобы всё работало нормально, DBF-файл должен быть создан с правильной кодировкой - иначе будут проблемы.
MySQL (org.gjt.mm.mysql.Driver)
С этим драйвером тоже всё довольно просто:
// Параметры соединения с базой
Properties connInfo = new Properties();
connInfo.put("user",user);
connInfo.put("password",pass);
connInfo.put("useUnicode","true");
connInfo.put("characterEncoding","KOI8_R");
Connection conn = DriverManager.getConnection(dbURL, props);
InterBase (interbase.interclient.Driver)
Для этого драйвера работает параметр "charSet":
// Параметры соединения с базой
Properties connInfo = new Properties();
connInfo.put("user", username);
connInfo.put("password", password);
connInfo.put("charSet", "Cp1251");
// Устанавливаем соединение
Connection db = DriverManager.getConnection(dataurl, connInfo);
Однако не забудьте при создании БД и таблиц указать кодировку символов. Для русского языка можно использовать значения "UNICODE_FSS" или "WIN1251". Пример:
CREATE DATABASE 'E:\ProjectHolding\DataBase\HOLDING.GDB' PAGE_SIZE 4096
DEFAULT CHARACTER SET UNICODE_FSS;
CREATE TABLE RUSSIAN_WORD
(
"NAME1" VARCHAR(40) CHARACTER SET UNICODE_FSS NOT NULL,
"NAME2" VARCHAR(40) CHARACTER SET WIN1251 NOT NULL,
PRIMARY KEY ("NAME1")
);