mysql - Delphi 和 Web 应用程序之间的行尾问题
问题描述
我们正在将一些 Delphi 应用程序迁移到基于 Web 的过程中,并且在此期间,一些应用程序同时在两者中运行。
我们有一种情况,Web 应用程序可以正确读取 Delphi 应用程序编写的换行符,但 Delphi 应用程序在将文本保存在 Web 应用程序中时忽略了换行符。
据我所知,Delphi 应用程序写#$D#$A
在任何行的末尾。在数据库表中,这些被视为CR LF
.
#$A
当 Web 应用程序保存文本的保存块时,Delphi 读取时会变成换行符。在数据库中,这些似乎仍然是CR LF
想法?
解决方案
您说“数据库显示”,但它实际上可能是您用来检查此数据库的工具。我遇到了 Oracle 和 PL/SQL 开发人员的问题,其中数据库中的换行符实际上是 unix 换行符(只是换行符、LF、$A、\n,无论您喜欢哪种表示形式),但是数据库工具将其转换为它正在运行的客户端(Windows),因此将它们显示为 CR LF。您的工具也可以这样做。
Delphi 没有做这种神奇的翻译,实际上只是把它们读成 LF。
因此,要获得特定类型的换行符,您要么必须一致地存储值,要么在从数据库中读回值时动态转换它。
AdjustLineBreaks
在 Delphi 中,您可以在保存之前或获取(或两者)之后使用该函数进行转换。
推荐阅读
- python - 如何使用 python 脚本将 excel 数据加载到 hive 中?
- firebase - 未处理的异常:PlatformException(functionsError,云函数因异常失败。,{消息:PERMISSION_DENIED,)
- java - 使用 apache POI 和 java 访问 excel 数据时出错
- javascript - Chrome 和 Firefox 上的时区错误
- vba - 试图将 ObjPtr 反转为对象我得到内核在 64 位中未找到错误 53,但在 32 位中未找到
- azure - 创建要由 Azure 逻辑应用接收的 Azure 存储帐户事件订阅的问题
- javascript - 如何根据用户输入更改元素的值
- javascript - “src 属性”未从外部 JavaScript 文件或其他脚本块中获取值
- asp.net-core - asp.net core web api本地https问题
- autocomplete - PhpStorm - li [TAB] 使用“link”元素而不是“li”元素自动完成