| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Проблемы с кодировкой IntelliJ Idea |
| Автор: Сонечка 27.3.2012, 17:13 | ||||
При запуске процедуры добавления в базу (попытка запихнуть в нее содержание в русской раскладке) выдается следующее сообщение
Контент вводится даже не из пользовательского интерфейса, а просто из массива. При этом, если поменять раскладку на английскую, все нормально. Если в базу из консоли вводить значения в русской раскладке, тоже все нормально. Появилось это после того, как в конфигурационный файл hibernate была добавлена строка:
До этого добавленное просто хранилось иероглифами. В настройках проекта тоже значится кодировка UTF-8. http://s2.ipicture.ru/Gallery/Viewfull/9526598.html В чем может быть дело? Есть еще какие-то настройки кодировки в идее, о которых я не знаю?( |
| Автор: Сонечка 27.3.2012, 17:29 |
| Может русские слова надо как-то выделять, чтобы в юникоде они не казались метасимволами? |
| Автор: Старовъръ 27.3.2012, 22:27 |
| Ну а в дебаге ты как видешь эти символы? Если нормально, то значит соединение с БД шалит. Попробуй указать в параметрах соединения: jdbc:mysql://localhost/database?characterEncoding=UTF-8 |
| Автор: Сонечка 28.3.2012, 11:27 | ||||
Очевидно вот они, символы '\xD0\x9E\xD0\x9E\xD0\x9D' . Вплоне себе юникодовые%) Они такими должны быть?
Параметры соединения в конфигурационном файле. Там есть строка <property name="hibernate.connection.characterEncoding">UTF-8</property>. Разве ее не достаточно? |
| Автор: Сонечка 28.3.2012, 12:53 | ||||
Поменяла
на
Ничего не изменилось(( |
| Автор: Pawl 28.3.2012, 20:41 | ||||||
Попробуйте у себя в проекте использовать фильтр
и пропишите его в web.xml приложения:
У меня фильтр прописан после описания сервлета
Описать фильтр можете, как у меня, а вот маппинг у Вас будет свой. |
| Автор: Старовъръ 29.3.2012, 00:30 |
| Сонечка, если ты в дебаге такое видешь, то нет, они должны быть обычными символами. В таком случае проблема не с работай с базой данных, а в том как ты создаешь эти строки. Если приведешь кусок кода, то возможно что-то прояснится. Кстати, а ты каким-то инструментом для сборки пользуешься? Может это не IDE виновата.. Ну и еще одно - может файл был не в той кодировке до того, как ты поставила эти параметры? В таком случае в пункте File есть пункт про перевод открытого файла в такую-то кодировку. Pawl, фильтры и сервлеты не причем, присмотрись к первому посту, ТС говорит, что строки создаются прям в коде. |
| Автор: Сонечка 29.3.2012, 11:50 | ||||||||||
Если написать так, то
А вот поменять кодировку файла почему-то в идее не получается, ибо Encoding неактивно. Преобразовала в Notepad++ в utf8. Теперь у меня следующее
Совсем ничего не понимаю Добавлено через 5 минут и 9 секунд У файла кодировка UTF8 без BOM |
| Автор: Сонечка 9.4.2012, 15:04 |
| Вопрос решился пересозданием базы лапами из консоли с прописыванием кодировки, если кому интересно |