0

我在 mysql 表中有一个列,最后有额外的空格。尽管我已经尝试在 mysql 中执行 REPLACE 和 TRIM ,$output = preg_replace("/\s+/", " ", $input);但似乎没有任何东西可以删除多余的空格或字符串末尾的任何内容。

该列是 varchar(255) 排序规则 utf8_general_ci。它包含一个表示航班号的字母数字字符串,例如 LH2214。我有另一列也是相同的排序规则,并且 varchar(255) 具有相同的字母数字字符串,它后面没有额外的空格。

我只能在我的网页上看到空格,它有字符集 utf-8。但我看不到的是,如果它是制表符、空格、eol、eof 或类似的,所以我不知道如何将其过滤掉。有谁知道我如何摆脱mysql列中值末尾的额外空格?

我已经尝试了很多针对她在 SO 上发布的类似问题的解决方案,但没有一个有效。

我添加了一张图片来显示我的问题。

额外的空白在上面一行可见。

有趣的是,在源代码中,没有可见的空格。因此,如果我保存 html,我将看不到空格 或类似内容。

4

2 回答 2

0

在我看来(从您的屏幕截图中),您在具有“额外空白”的行上有一些额外的 CSS 属性。看看你的 css 属性,也许你设置了一个边距、填充、文本缩进或其他一些会改变你的文本/内容的属性。

于 2012-11-11T12:03:38.327 回答
0

我想到了额外空白的两个可能原因。

  1. 尾随空白字符被插入到表列中。

您可以使用以下查询验证并修复此问题(针对现有数据):

UPDATE <your_table> SET <your_column> = TRIM ( <your_column> );

如果这有效,您应该确认“n 行已更新”,n > 0

  1. 如果这返回 0 行更新,您很可能在输出中添加了空格。

检查您的输出 HTML 和样式表

于 2012-11-11T20:44:10.877 回答