【发布时间】:2014-07-17 14:11:10
【问题描述】:
我正在从 SQL Server 2008 数据库中获取一个字符串到我的 Java 代码中并尝试打印它。不幸的是,换行符转义序列不会自动转换为换行符。 我知道原因是我们没有将字符串放在数据库表的双引号内。下面是存储在 varchar 列中的示例值:
Remarks \nTestRemarks Issue\nTestIssue\n\nRegards \nSunny
当我在日志文件上打印它时,它与\n 一起打印。我的应用程序约定不允许我将 String 存储在 Database varchar 列内的双引号内,因此我选择使用 Apache StringEscapeUtils.unescapeJava(str) 显式取消转义它。不幸的是,结果是第一个和最后一个换行符转义序列成功转换为换行符,但其余所有换行符转义保持不变。如果我在数据库中的换行符转义序列之前放置空格,那么它会被识别和转换,但不会。你能帮我解决这种情况吗?
【问题讨论】:
标签: java sql-server-2008 newline apache-commons apache-stringutils