Java: Русские буквы и не только…
Категория реферата: Рефераты по информатике, программированию
Теги реферата: диплом купить, реферат мыло
Добавил(а) на сайт: Сила.
Предыдущая страница реферата | 4 5 6 7 8 9 10 11 12 13 14 | Следующая страница реферата
В версии 2.01 InterClient присутствует ошибка - классы ресурсов с сообщениями для русского языка там неправильно скомпилированы. Скорей всего разработчики просто забыли указать кодировку исходников при компиляции. Есть два пути исправления этой ошибки:
Использовать interclient-core.jar вместо interclient.jar. При этом русских ресурсов просто не будет, и автоматом подхватятся английские.
Перекомпилировать файлы в нормальный Unicode. Разбор class-файлов - дело неблагодарное, поэтому лучше воспользоваться JAD-ом. К сожалению JAD, если встречает символы из набора ISO-8859-1, выводит их в 8-иричной кодировке, так что воспользоваться стандартным перекодировщиком native2ascii не удастся - придётся написать свой (программа Decode). Если Вам не хочется заморачиваться с этими проблемами - можете просто взять готовый файл с ресурсами (пропатченый jar с драйвером - interclient.jar, отдельные классы ресурсов - interclient-rus.jar).
JayBird (org.firebirdsql.jdbc.FBDriver)
Для этого драйвера указание кодировки отличается от InterClient:
// Параметры соединения с базой
Properties connInfo = new Properties();
connInfo.put("user", username);
connInfo.put("password", password);
connInfo.put("lc_ctype","WIN1251");
// Устанавливаем соединение
Connection db = DriverManager.getConnection(dataurl, connInfo);
SAP DB (com.sap.dbtech.jdbc.DriverSapDB)
Для этого драйвера можно включить использование Unicode задав параметр unicode в true. В противном случае будет использованна жёстко зашитая ISO-8859-1, с вытекающими отсюда осточертевшими "??????". Кроме того существует доработанная напильником версия (sapdbc.zip), которая позволяет задавать параметр charSet.
DataSource (javax.sql.DataSource)
Если получение соединение производится через использование DataSource, то поддержку настройки используемой кодировки должна содержать конкретная реализация, которая регистрируется в JNDI. Для примера можно взять реализацию от InterClient (interbase.interclient.DataSource). В этом классе есть метод setCharSet(), используя который можно указать необходимую кодировку. Пример:
interbase.interclient.DataSource dataSource = new interbase.interclient.DataSource();
dataSource.setServerName("pongo");
dataSource.setDatabaseName("/databases/employee.gdb");
dataSource.setCharSet("Cp1251");
javax.naming.Context context = new javax.naming.InitialContext();
context.bind("jdbc/EmployeeDB", dataSource);
Другой пример - реализация от DBF-драйвера (com.hxtt.sql.HxttDataSource):
Properties prop=new Properties();
prop.setProperty("urlPrefix","jdbc:DBF:");
Рекомендуем скачать другие рефераты по теме: курсовые работы, реферат государственный.
Предыдущая страница реферата | 4 5 6 7 8 9 10 11 12 13 14 | Следующая страница реферата