|
|
|
Проблемы с кодировкой
|
|||
|---|---|---|---|
|
#18+
Добрый день. Как я понимаю данные вопросы уже затерты до дыр, но все равно прошу помочь разобраться. Есть запрос найденный на этом форуме: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. В нашей базе получаю вопросительные знаки. В настройках базы NLS_CHARACTERSET = CL8ISO8859P5 В настройках ораклового клиента на машине настройки следующие: NLS_LANG: RUSSIAN_RUSSIA.CL8MSWIN1251 NLS_CHARACTERSET: CL8ISO8859P5 Вопрос, как должно быть правильно выставлены настройки? P.S. Если в реестре для ораклового клиента поставить NLS_LANG = RUSSIAN_RUSSIA.CL8ISO8859P5, то запрос будет возвращать слово "Привет", как и задумывается. Но правильна ли такая настройка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 11:26:01 |
|
||
|
Проблемы с кодировкой
|
|||
|---|---|---|---|
|
#18+
Хочу добавить, что с отображением русского языка проблем нет, все отображается корректно. И вопросительные знаки не перевернутые, а обычные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 11:36:13 |
|
||
|
Проблемы с кодировкой
|
|||
|---|---|---|---|
|
#18+
user_new1, Фонт не тот? Или клиент слишком умный Проверьте так: 1) Запуститите CMD 2) Устновите для него фонт Lucida Console 3) переключите кодовую страницу 1251 Код: plsql 1. 4) Установите переменную окружения NLS_LANG (чтобы перебить любые установки реестра) Код: plsql 1. 5) Зайдите в oracle через удобную учетную запись и sqlplus.exe и запустите тест Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 11:48:06 |
|
||
|
Проблемы с кодировкой
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ, я видимо не точно написал, проблема эта и в sqlplus и в TOAD везде одинаковая. Думается мне, что проблема именно в рассогласовании кодировок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 11:56:38 |
|
||
|
Проблемы с кодировкой
|
|||
|---|---|---|---|
|
#18+
user_new1, Тест выполнил полностью? Влючая chcp 1251 и set NLS_LANG? Покажи вывод: Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 15:22:35 |
|
||
|
Проблемы с кодировкой
|
|||
|---|---|---|---|
|
#18+
user_new1, Фонт тоже поправил в свойствах окна cmd.exe? p.s. Чтобы скопировать текст из cmd.exe Установи в свойствах окна галочку быстрая вставка и выделение мышью Далее выделяешь мышкой текст, нажимаешь Enter и выделенный текст в буфере Вставка буфера в cmd.exe - правая кнопка мыши ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 15:25:21 |
|
||
|
Проблемы с кодировкой
|
|||
|---|---|---|---|
|
#18+
А так: Код: plsql 1. 2. 3. 4. 5. 6. 7. Или так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 17:51:17 |
|
||
|
Проблемы с кодировкой
|
|||
|---|---|---|---|
|
#18+
Vadim LejninА так: Код: plsql 1. Уважаемый коллега, Вы совершенно проигнорировали факт user_new1В настройках базы NLS_CHARACTERSET = CL8ISO8859P5 что и предопределило неудачные советы. Для указанных настроек NLS проводимый тест - бредовый и говорит о критическом непонимании процессов, происходящих при его выполнении. Обоим порекомендовал бы внимательно, без спешки ознакомиться с globalization support guide, ибо объяснять одно и то же в этой конференции по надцатому разу желания нет... совсем нет. http://www.sql.ru/forum/760038-2/kodirovka-bd?mid=8810016#8810016 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2016, 21:51:44 |
|
||
|
Проблемы с кодировкой
|
|||
|---|---|---|---|
|
#18+
Спасибо, что попытались помочь. Пошел читать документацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2016, 20:43:05 |
|
||
|
Проблемы с кодировкой
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, авторВ настройках ораклового клиента на машине настройки следующие: NLS_LANG: RUSSIAN_RUSSIA.CL8MSWIN1251 Код: plsql 1. докаCONVERT converts a character string from one character set to another. The char argument is the value to be converted. It can be any of the data types CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB. The dest_char_set argument is the name of the character set to which char is converted. The source_char_set argument is the name of the character set in which char is stored in the database. The default value is the database character set. Андрей, не надо быть таким категоричным пример демонстрирует конвертацию RAW данных из UTF8 в CL8MSWIN1251 В чем проблема? Например в моем случае, для базы AL32UTF8 при установке клиента CL8MSWIN1251 тест проходит без проблем. Преобразование кодировок происходит только когда данные отправляются на клиент или принимаются с него. Если кодировка клиента и базы совпадает, то преобразования данных не происходит совсем. Если кодировка Разумеется часть функций не будут считать символами некоторые коды. Поэтому Не будут работать upper/lower/initcap (при ограничениях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2016, 20:45:06 |
|
||
|
Проблемы с кодировкой
|
|||
|---|---|---|---|
|
#18+
Vadim LejninНапример в моем случае, для базы AL32UTF8 при установке клиента CL8MSWIN1251 тест проходит без проблем.Если ты про примерVadim LejninА так: Код: plsql 1. 2. 3. 4. 5. 6. 7. Или так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. То оно и понятно -- у тебя тут дважды преобразованная строка, один раз обратное преобразование проходит явно (convert), а второй раз неявно (кодировка БД -> кодировка клиента) Это как раз пример "магии данных" и хороший пример что все символы 1251 правильно преобразуются в UNICODE И все-же про кое-какое неявное преобразование ты забываешь. Суть в том что получившийся поток байт после CONVERT является просто потоком байт, информации о кодировке нет И DBMS_OUTPUT (или SELECT) считает, что этот поток байт именно в кодировке БД (в твоем случае после первого преобразования у тебя действительно получился юникод, что совпадает с кодировкой БД) А если это будет что-либо зависящее от кодировки (тот-же CONVERT) результат будет разный А уж только потом выстрелит преобразование кодировки БД->клиент Вариации на тему твоего примерчика Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2016, 04:52:36 |
|
||
|
|

start [/forum/topic.php?fid=52&gotonew=1&tid=1888058]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
206ms |
get topic data: |
9ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 512ms |

| 0 / 0 |
