【问题标题】:storing escape characters in MySQL在 MySQL 中存储转义字符
【发布时间】:2015-11-16 13:25:21
【问题描述】:

我希望能够在 MySQL 数据库中存储一些特殊字符,例如“\r\n”。所以我正在尝试做这样的事情: 插入到 config(key, value) values('end.of.line.symbols', '\r\n')

然后在我的 Java 代码中,我尝试读取此属性并将其用于写入文件:

String endOfLineSymbols = "select from config where key = 'end.of.line.symbols'"...
String helloWorld = "Hello, world!";

//writes the specified string to the file + end of the line symbols
writeToFile(helloWorld, endOfLineSymbols);

然后在我看到的文件中:

你好,世界!\r\n

所以这些符号不会被识别为换行符,而只是一个简单的字符串。

有办法解决吗?

谢谢,干杯,安德烈

【问题讨论】:

  • 你在哪里调用插入语句?

标签: java mysql special-characters


【解决方案1】:

您可以尝试使用StringEscapeUtils 喜欢:

String str = StringEscapeUtils.escapeJava(rs.getString("myColumn"));

方法escapeJava()

使用 Java 字符串规则转义字符串中的字符。

编辑:

如果你不想让它被转义,那么试试这个:

String str = StringEscapeUtils.unescapeJava(rs.getString("myColumn"));

【讨论】:

  • 现在打印 'Hello, World!\\r\\n'
  • @AndreyYaskulsky:- 如果我错了,请纠正我,但这是你要求的?或者你想逃避\n\r
  • 问题在于,在文本编辑器中,这些符号不会被识别为行尾符号,而是一个简单的字符串。 IE。我想找到一种方法让文本编辑器将这些符号视为行尾字符
  • @AndreyYaskulsky:- 那么你只需要:StringEscapeUtils.unescapeJava(rs.getString("myColumn"));
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 2016-11-01
  • 1970-01-01
  • 2016-09-18
相关资源
最近更新 更多