【问题标题】:Strange character in postgresql database table fieldspostgresql数据库表字段中的奇怪字符
【发布时间】:2016-09-19 21:16:19
【问题描述】:

在我的一个 postgresql 表的 30 多个字段中的 6 个中找到以下字符。该字符位于 6 个字段中每个字段的用户输入文本的末尾。数据通过 PHP Web 表单进入表格。它已经使用了多年,这是我第一次看到它。

下面这个字符是什么以及它是如何创建的:

谢谢

【问题讨论】:

  • 看起来像007F,即"DELETE" character。不知道它是如何到达那里的,但这听起来更像是一个 PHP 问题而不是 Postgres 问题。
  • 我会在这个问题中添加标签,代表您的用户和数据库之间的技术。例如PHP、WebForms、HTML 等
  • 标签已更新。很高兴至少知道它是什么。

标签: php html postgresql webforms


【解决方案1】:

正如尼克所说,我想它是 Unicode 字符“删除”(U+007F)。 - 它是原始的C0 ASCII 控制字符之一。

它到达那里是因为您没有正确清理您的用户数据。

这可能不是恶意的、有意的,甚至用户不知道,他们可能只是从 Microsoft Word 等应用程序复制并粘贴了字符串。

【讨论】:

  • 我正在使用以下函数来清理数据:trim、str_replace 删除 \r \n 和双引号、pg_escape_string 和 htmlspecialchars。还有哪些其他可用的功能会有所帮助?
  • 如何清理数据是另一个问题,取决于您的需求。就我个人而言,我会颠倒这个过程,只保留我想要的,例如ctype_alnum等。而不是剥离我能想到的所有东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-27
  • 2011-05-27
  • 1970-01-01
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
  • 2018-03-14
相关资源
最近更新 更多