2012-07-18 32 views
0

我有一個Java程序,它將諸如「test1 \ r \ ntest2」之類的消息存儲到DB中 - 當我打印出來時,它給了我一個新行。 另一個線程正在從DB中讀取字符串並將它們發送到「\ r \ n」輸出,當我嘗試打印出來時它不會給我換行 - 它只是打印出「test1 \ r \ ntest2」 應該我改變輸出的編碼? r n從DB和Java讀取時的編碼問題

該應用程序部署在帶有UTF-8編碼集的tomcat上。

在此先感謝。

+0

添加一些代碼片段,以防兩個不同的調用翻譯不同。如果在輸入上有所不同,也許是在某些時候對它們進行雙重編碼,並且只是單獨解碼。 – SilverbackNet 2012-07-18 09:07:25

+0

發送只是傳遞參數到SQL //閱讀消息:字符串s_Messages = resultUnfinishedJobs.getColumnValueTrim(logWarn(),「MESSAGERESPONSE」,i); – gizmo 2012-07-18 09:20:00

回答

1

字符串是否實際存儲在數據庫中爲「\ r \ n」?

在這種情況下,我認爲你必須對從數據庫返回的字符串執行

String correct = dbString.replace("\\r\\n","\r\n")

+0

是的,他們實際上存儲爲\ r \ n 我要馬上試試:)謝謝! – gizmo 2012-07-18 09:14:09

+0

它解決了問題!再次感謝! – gizmo 2012-07-18 11:08:01

+1

很高興幫助:) – Petter 2012-07-18 11:09:14