2012-07-18 3 views
0

У меня есть Java-программа, в которой в DB хранится сообщение типа «test1 \ r \ ntest2». Когда я печатаю это, это дает мне новую строку. Другой поток читает строки из БД и отправляет их на вывод с «\ r \ n», и когда я пытаюсь распечатать это, он не дает мне новую строку - он просто печатает «test1 \ r \ ntest2» Я меняю кодировку вывода?Проблема с кодировкой при чтении из БД и Java

Приложение развернуто на tomcat с набором кодировок UTF-8.

Заранее спасибо.

+0

Добавьте несколько фрагментов кода, если это два разных вызова, переводящих по-другому. Если на входе все по-другому, может быть, в какой-то момент это их двойное кодирование и только однократное декодирование. – SilverbackNet

+0

Передача просто передает аргументы в SQL // чтение msg: String s_Messages = resultUnfinishedJobs.getColumnValueTrim (logWarn(), "MESSAGERESPONSE", i); – gizmo

ответ

1

Действительно ли строки хранятся в базе данных как «\ r \ n»?

В этом случае я думаю, что вы должны сделать

String correct = dbString.replace("\\r\\n","\r\n")
на строки, возвращенные из базы данных.

+0

Да, они действительно хранятся как \ r \ n Я собираюсь попробовать сразу :) Спасибо! – gizmo

+0

Он решил проблему! Еще раз спасибо! – gizmo

+1

Рад помочь :) – Petter

Смежные вопросы