有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

sql server 2008换行转义序列在Java中没有以正确的方式回避

我正在从SQLServer2008数据库中提取一个字符串到我的Java代码中,并试图打印它。不幸的是,换行符转义序列不会自动转换为换行符。 我知道原因是我们没有将字符串放在数据库表的双引号中。下面是存储在varchar列中的示例值:

Remarks \nTestRemarks Issue\nTestIssue\n\nRegards \nSunny

当我在日志文件上打印字符串时,它将与\n一起打印。我的应用程序约定不允许我将字符串存储在数据库varchar列的双引号内,因此我选择使用Apache StringEscapeUtils.unescapeJava(str)显式取消它的scape。不幸的是,结果是第一个和最后一个换行符转义序列成功地转换为换行符,但其余所有换行符转义保持不变。如果我在DB中的换行符转义序列前面加上空格,那么它会被识别和转换,但不会被识别和转换。你能帮我解决这个问题吗


共 (2) 个答案

  1. # 1 楼答案

    我的设置工作正常。由于某种原因,在系统重启、eclipse重启和tomcat重启之后,一切似乎都能无缝地工作。将答案关闭为非问题

  2. # 2 楼答案

    如果你再做一次相反的事,怎么样。逃逸基因(str)或重复序列逃逸基因。从数据库中检索到unescapeJava(str)之后。任何一个都可以