powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring JPA + Hibernate + Oracle DB - проблемы с русским языком в БД
6 сообщений из 6, страница 1 из 1
Spring JPA + Hibernate + Oracle DB - проблемы с русским языком в БД
    #38555065
ryasal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю приложение (используя MVC), которое пишет и читает в БД Oracle данные.
Пишу русскую строку в таблицу, после запрашиваю ее - в браузере отображается нормально (например, слово Привет), а в БД в таком виде: Привет

Такое ощущение, что проблема даже не в кодировках, а в тегах html?

DB, nls_characterset: CL8MSWIN1251
.jsp: <meta charset="windows-1251">, пробовал и charset="utf-8"
использую вот этот провайдер в persistence.xml: org.hibernate.ejb.HibernatePersistence

Запускаю приложение в Tomcat.
...
Рейтинг: 0 / 0
Spring JPA + Hibernate + Oracle DB - проблемы с русским языком в БД
    #38555108
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выведи коды символов полученной из базы строки.
Для слова "Привет" должны быть такие: 1055 1088 1080 1074 1077 1090. Если такие - с базой всё в порядке.

test.jsp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <%
            String your_Hello_StringFromDataBase = "Привет";
            for (int i = 0; i < your_Hello_StringFromDataBase.length(); i++) {
        %>
        <%= your_Hello_StringFromDataBase.codePointAt(i) %><br>
        <%
            }
        %>
        <%= your_Hello_StringFromDataBase %>
    </body>
</html>

...
Рейтинг: 0 / 0
Spring JPA + Hibernate + Oracle DB - проблемы с русским языком в БД
    #38555339
ryasal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, символы такие:
Код: html
1.
&#1055;&#1088;&#1080;&#1074;&#1077;&#1090;


А что значит, с БД все в порядке, не понимаю. Допустим, я хочу в БД уже данные обрабатывать, и ожидаю, что там "Привет", а там коды символов. Куда копать?
...
Рейтинг: 0 / 0
Spring JPA + Hibernate + Oracle DB - проблемы с русским языком в БД
    #38555866
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ryasalА что значит, с БД все в порядке, не понимаю.
Значит, что в JVM из БД строки пришли в нормальном не искажённом виде (Oracle, JDBC драйвер и Hibernate отработали нормально).
Проблема скорее всего в сервлете.

ryasalКуда копать?
Написать в jsp странице 2 раза одну и ту же кодировку как у меня.
...
Рейтинг: 0 / 0
Spring JPA + Hibernate + Oracle DB - проблемы с русским языком в БД
    #38556425
ryasal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, работает!
...
Рейтинг: 0 / 0
Spring JPA + Hibernate + Oracle DB - проблемы с русским языком в БД
    #38557410
ryasal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дамы и господа, я напутал, не помогло :) Помогли вот эти волшебные строки, которые я добавил в web.xml

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    <!-- Reads request input using UTF-8 encoding -->
    <filter>
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring JPA + Hibernate + Oracle DB - проблемы с русским языком в БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]