|
|
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
Суть проблемы - в базе лежит xml файл в виде CLOB. Его нужно вывести. Вывести то получается, но возникают проблемы с кодировкой. Файл непонятным мне образом в непонятном мне месте переrодируется, хотя в базе он лежит в абсолютно нормальном виде. Посдскажите, в каком месте он перекодируется и как это исправить. Заранее спасибо. Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 17:41:09 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
какая кодировка используется в БД? и какая кодировка по-умолчанию используется в JVM? (посмотреть параметр System.getProperty("file.encoding")) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 17:57:08 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
В базе данных, да и в файле установлена кодировка Windows-1251. Насчет System.getProperty("file.encoding") щас выясню. Но рантше вывод кириллицы проблем не вызывал. А как обратился к CLOB - проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 18:13:58 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
System.getProperty("file.encoding") вернуло Cp1251 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 18:17:50 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
а есть попробовать вот так? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 18:33:18 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
Ashitkin.Alex Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Попробуй просто: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 18:34:27 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
Если данные небольшие, то можно просто вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 18:38:39 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
щас попробую через стринг. а Ограничений нет на длину String а Java? а то у меня clob большой. Или имелось ввиду кусочками считывать через SubString? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 18:39:25 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
Ashitkin.Alexщас попробую через стринг. а Ограничений нет на длину String а Java? а то у меня clob большой. Или имелось ввиду кусочками считывать через SubString? У CLOB.substring() второй параметр имеет тип int , максимальное значение которого равно Integer. MAX_VALUE, т.е. 2 31 -1. Конечно, меньше чем Long.MAX_VALUE=2 63 -1, возвращаемый CLOB.length(), но м.б. и его хватит?;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 18:46:59 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. Так выгружается объект длинной 0 байт. Скорей всего происходит ошибка при трансформации стринг в байт. Шас попробую через ByteArrayOutputStream. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 18:50:31 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
Ashitkin.Alex Так выгружается объект длинной 0 байт. Скорей всего происходит ошибка при трансформации стринг в байт. Шас попробую через ByteArrayOutputStream. если есть ошибка - то какова? а вообще странно, я таким методом часто пользуюсь... правда на BLOB-полях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 18:55:01 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
Denis Popov Ashitkin.Alex Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Попробуй просто: Код: plaintext Попробовал. Результат то же, что и оригинале. Файл выводиться в неправильной кодировке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 19:03:51 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
unicornmirage если есть ошибка - то какова? а вообще странно, я таким методом часто пользуюсь... правда на BLOB-полях. Я не знаю. Почему то вылетает 0 байт и все. Пока я точно не знаю почему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 19:05:02 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
Ashitkin.Alex unicornmirage если есть ошибка - то какова? а вообще странно, я таким методом часто пользуюсь... правда на BLOB-полях. Я не знаю. Почему то вылетает 0 байт и все. Пока я точно не знаю почему. может у тебя с порядком полей не так? и не оттуда читаешь сделай вместо этого: Код: plaintext 1. явно: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 19:09:50 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
Частично помогло следующее:. Код: plaintext Сделал по следующим соображениям - в базе у меня вся кириллица в Windows-1251. В заголовке xml стоит encoding=UTF-8. Следовательно мне надо мою кириллицу из файла переписать в UTF-8 и отправить. Но помогло лишь частично. Кое где косяки с кодировкой по прежнему встречаются. В основном на букве И. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 19:23:25 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
Почему то Именно И в верхнем регистре не отображается. Мистика какая то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 19:37:37 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
А В JSP тоже самое? У меня в базе кодировка UTF8, создал таблицу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код JSP: Код: plaintext 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. Все буквы видны нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 19:56:53 |
|
||
|
Косяки с кодировкой при CLOB через сервлет.
|
|||
|---|---|---|---|
|
#18+
Спасибо большое всем за помощь! Ситуация разрешилась. А проблема была в следующем. Изначально шаблон создавался в MS Word. Так вот это самое ПО, несмотря на то что в загловке документа ставит кодировку UTF-8, кириллические символы записывает в Windows-1251. Таким образом, в Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2007, 13:33:28 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34818919&tid=2144547]: |
0ms |
get settings: |
15ms |
get forum list: |
24ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
63ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 327ms |
| total: | 542ms |

| 0 / 0 |
