|
|
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
Вот кусок из Java класса: Код: java 1. 2. 3. Если в query использовать латинские сиволы, то все работает. Если же в query использовать русские символы то запрос не проходит, ничего не возвращается. Если выполнить этот же запрос (с русскими символами) через SQL Command line, то все ок! Есть подозрение что проблема с кодировкой. БД Oracle 11g XE. Кодировка в БД - NLS_CHARACTERSET: AL32UTF8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 02:10:51 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
ArthaZz, Сменить кодировку форуме бд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 07:32:35 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
ArthaZzВот кусок из Java класса: Код: java 1. 2. 3. Если в query использовать латинские сиволы, то все работает. Если же в query использовать русские символы то запрос не проходит, ничего не возвращается. Если выполнить этот же запрос (с русскими символами) через SQL Command line, то все ок! Есть подозрение что проблема с кодировкой. БД Oracle 11g XE. Кодировка в БД - NLS_CHARACTERSET: AL32UTF8. Вы используете библиотеки oracle.jdbc или java.sql? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 10:29:48 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
Вы используете библиотеки oracle.jdbc или java.sql? java.sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 12:49:36 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
ArthaZz, а сам файл исходника класса у вас в какой кодировке? С какими параметрами компилите класс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 13:02:20 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
Miha_S7ArthaZz, а сам файл исходника класса у вас в какой кодировке? С какими параметрами компилите класс? Используйте работая с ораклом oracle.jdbc. Оракл специально для Вас написал. Раньше использовал java.sql и сталкивался с затыками, теперь с oracle.jdbc. У меня БД тоже с кодировкой AL32UTF8 и передаю из джава (компиляция класса в cp1521) параметры в кириллице без проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 14:00:50 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
crazy_handsMiha_S7ArthaZz, а сам файл исходника класса у вас в какой кодировке? С какими параметрами компилите класс? Используйте работая с ораклом oracle.jdbc. Оракл специально для Вас написал. Раньше использовал java.sql и сталкивался с затыками, теперь с oracle.jdbc. У меня БД тоже с кодировкой AL32UTF8 и передаю из джава (компиляция класса в cp1521) параметры в кириллице без проблем.Разумеется, надо всеми силами стремиться не использовать oracle.jdbc, а работать через интерфейсы java.sql, ибо oracle.jdbc пишется не для прикладных программистов. Это просто реализация JDBC с которой программист должен работать через ... интерфейс JDBC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 14:06:51 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
Когда создавал тему БД заполнялась с использованием русских символов из SQL*Plus. Я заметил, если заполнять БД из java, то она нормально читается, если SELECT делать также в java (при этом LIKE работает на ура!). Однако в этом случае через SQL*Plus при SELECT'е выдает набор непонятных символов. В итоге пока нашел только один выход: заполнять и считывать БД только через java код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 14:23:49 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
ArthaZzSQL*Plus при SELECT'е выдает набор непонятных символов 3 настройки: 1 В реестре SET NLS_LANG___RUSSIAN_CIS.RU8PC866 или другие 2. Пр. клик на чёрном окне :) - шрифт 3. перед sqlplus - chcp 1251 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 14:33:34 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
Также читал, что можно использовать в БД поля типа NVARCHAR2 и свойство oracle.jdbc.defaultNChar (для отправки данных из Java). Подходит ли это к моему случаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 14:37:02 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
ArthaZzТакже читал, что можно использовать в БД поля типа NVARCHAR2 и свойство oracle.jdbc.defaultNChar (для отправки данных из Java). Подходит ли это к моему случаю? выложи сюда: Код: sql 1. если не вдаваться в подробности, то лучше СРАЗУ иметь в БД русскую кодировку. Чтобы серверу легче и не конвертить с китайского на русский на лету. 2. параметр NLS_LENGTH_SEMANTICS BYTE (Определяет способ задания длины символьных столбцов. По умолчанию – Byte, т.е. VARCHAR2(10) означает 10 байт. Значение Char меняет трактовку с байт на символы. Не влияет на уже существующие столбцы, только на новые.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 14:46:42 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
да, запрос забыл: Код: sql 1. PARAMETER VALUE 1 NLS_LANGUAGE RUSSIAN 2 NLS_TERRITORY RUSSIA 3 NLS_CURRENCY ?. 4 NLS_ISO_CURRENCY RUSSIA 5 NLS_NUMERIC_CHARACTERS , 6 NLS_CHARACTERSET CL8MSWIN1251 7 NLS_CALENDAR GREGORIAN 8 NLS_DATE_FORMAT DD.MM.RR 9 NLS_DATE_LANGUAGE RUSSIAN 10 NLS_SORT RUSSIAN 11 NLS_TIME_FORMAT HH24:MI:SSXFF 12 NLS_TIMESTAMP_FORMAT DD.MM.RR HH24:MI:SSXFF 13 NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR 14 NLS_TIMESTAMP_TZ_FORMAT DD.MM.RR HH24:MI:SSXFF TZR 15 NLS_DUAL_CURRENCY ?. 16 NLS_COMP BINARY 17 NLS_LENGTH_SEMANTICS BYTE 18 NLS_NCHAR_CONV_EXCP FALSE 19 NLS_NCHAR_CHARACTERSET AL16UTF16 20 NLS_RDBMS_VERSION 10.2.0.1.0 2. Ставим клиента Oracl (всё по умолчанию) На клиенте в реестре NLS_LANG = RUSSIAN_CIS.CL8MSWIN1251 = будут работать с клиента русская сортировка и запятые русские поймёт как разделитель (на всякий :) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 14:54:45 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. NLS_LANGUAGE RUSSIAN NLS_TERRITORY RUSSIA NLS_CURRENCY р. NLS_ISO_CURRENCY RUSSIA NLS_NUMERIC_CHARACTERS , NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD.MM.RR NLS_DATE_LANGUAGE RUSSIAN NLS_SORT RUSSIAN NLS_TIME_FORMAT HH24:MI:SSXFF NLS_TIMESTAMP_FORMAT DD.MM.RR HH24:MI:SSXFF NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR NLS_TIMESTAMP_TZ_FORMAT DD.MM.RR HH24:MI:SSXFF TZR NLS_DUAL_CURRENCY р. NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE 17 rows selected. Код: plsql 1. NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CHARACTERSET AL32UTF8 NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-RR NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY NLS_TIME_FORMAT HH.MI.SSXFF AM NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR NLS_DUAL_CURRENCY $ NLS_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_RDBMS_VERSION 11.2.0.2.0 20 rows selected. Не подскажите где менять NLS_LANG в Windows 7 (Oracle 11.2). Что-то не могу его обнаружить в HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 15:40:29 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
ArthaZz, ORA_HOME ветка есть? Или какая есть? Эту ветку ставит не оракл, а его клиент (заодно с sqlplus). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 15:47:02 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
Petro123, если в java коннект this то это ветка не нужна. Она для твоих крякозябл в плюсе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 15:48:27 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
да, и HKEY_LOCAL_MACHINE - если ставил от админа в виндах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 15:50:08 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
svenomcrazy_handsпропущено... Используйте работая с ораклом oracle.jdbc. Оракл специально для Вас написал. Раньше использовал java.sql и сталкивался с затыками, теперь с oracle.jdbc. У меня БД тоже с кодировкой AL32UTF8 и передаю из джава (компиляция класса в cp1521) параметры в кириллице без проблем.Разумеется, надо всеми силами стремиться не использовать oracle.jdbc, а работать через интерфейсы java.sql, ибо oracle.jdbc пишется не для прикладных программистов. Это просто реализация JDBC с которой программист должен работать через ... интерфейс JDBC Разрабатывая для БД оракл и используя на серверах приложения оракл или прочих где есть библиотека oracle.jdbc лучше пользоваться ею и это избавит от некоторых гемороев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 15:56:21 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
crazy_handsРазрабатывая для БД оракл и используя на серверах приложения оракл или прочих где есть библиотека oracle.jdbc лучше пользоваться ею и это избавит от некоторых гемороев.Верно, но это надо делать как можно реже. А лучше - вообще не делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 16:01:30 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
ArthaZzНе подскажите где менять NLS_LANG в Windows 7 (Oracle 11.2). Что-то не могу его обнаружить в HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG. HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient11g_home1\NLS_LANG ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 16:29:53 |
|
||
|
Проблема с кодировкой Oracle при запросе SELECT ... LIKE.
|
|||
|---|---|---|---|
|
#18+
svenomcrazy_handsРазрабатывая для БД оракл и используя на серверах приложения оракл или прочих где есть библиотека oracle.jdbc лучше пользоваться ею и это избавит от некоторых гемороев.Верно, но это надо делать как можно реже. А лучше - вообще не делать. svenom, Вы так и не ответили почему? Я не пойму, аргументы можно привести? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 17:18:01 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37646012&tid=2132657]: |
0ms |
get settings: |
21ms |
get forum list: |
30ms |
check forum access: |
9ms |
check topic access: |
9ms |
track hit: |
73ms |
get topic data: |
23ms |
get forum data: |
6ms |
get page messages: |
106ms |
get tp. blocked users: |
3ms |
| others: | 443ms |
| total: | 723ms |

| 0 / 0 |
