|
|
ru.website- RU.WEBSITE ------------------------------------------------------------------- From : Dmitry Ochnev 2:5022/54 23 Nov 2001 23:06:08 To : All Subject : JSP, JDBC и русские буквы -------------------------------------------------------------------------------- У меня небольшая путаница с русскими буквами. Писал я с использованием рекоммендаций из статьи "Java: Русские буквы и не только..." с сайта webclub.ru. Есть небольшое Web-приложение на JSP. В почти каждой JSP-странице прописано <%@page contentType="text/html; charset=Windows-1251" %> Работа идет с базой под MySQL, под Win2k professional rus. Сервер Apache 1.3.20 и JRun 3.0, JDK 1.3, драйвер JDBC - org.gjt.mm.mysql.Driver. MySQL - версия "MySQL-Max", вроде бы 2.23.42. Коннект к базе делается так: // ... указали URL, имя драйвера Properties connInfo = new Properties(); connInfo.put("user", "root"); connInfo.put("password", "key"); connInfo.put("useUnicode", "true"); connInfo.put("characterEncoding", "Cp1251"); // ... всякие try ... con = DriverManager.getConnection(url, connInfo); При этом при SELECT'ах все нормально. Если делать INSERT или UPDATE, то из передаваемого объекта класса Properties понадобилось исключить (?!? я ожидал противоположное) characterEncoding указанный Cp1251, то есть закомментировать строку connInfo.put("characterEncoding", "Cp1251"); иначе вместо русских букв вставлялись знаки "?". Почему так происходит ? Кстати, поиск работает только с английскими буквами. Как приделать русские ? P.S.: Точно проверено, что в моей программе строки в кодировке Cp1251 в базу вставляются правильно, и лежат они там в Cp1251. Хотя, в my.cnf (файле конфигурации MySQL) написана кодировка latin-1: default-character-set=latin1 P.S.2: В одних страницах без директивы <%@page contentType="text/html; charset=Windows-1251" %> не выводятся русские буквы, а в одной это не оказывает никакого воздействия, и буквы выводятся нормально в любом случае. В первых страницах, данные с русскими буквами добыты из базы данных, а в тестовой странице, где директива не дает никакого изменения, русские буквы статично забиты в HTML. Эта причина для меня мало понятна. * Crossposted in RU.JAVA * Crossposted in RU.JAVA.CHAINIK * Crossposted in RU.WEBSITE -- Met vriendelijke groet, Dmitry Ochnev Tula, RU ... dmitry_III<>mail.ru, ICQ: 69794043, http://designcentral.newmail.ru --- http://designcentral.newmail.ru/Dmitry_Ochnev_resume.txt * Origin: Web-development, programming in Perl (2:5022/54) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.website/18273bfecb06.html, оценка из 5, голосов 10
|