2012-11-11 31 views
0

我在一個mysql表中有一列,在最後有多餘的空格。雖然我已經嘗試在mysql和$output = preg_replace("/\s+/", " ", $input);中執行REPLACE和TRIM,但似乎沒有任何操作可以刪除多餘的空格或者字符串末尾的任何內容。如何刪除mysql列中的whitspaces

該列是一個varchar(255)排序規則utf8_general_ci。它包含一個代表航班號e的字母數字字符串。 G。 LH2214。我有另一個列也是相同的排序規則,並且varchar(255)具有相同的字母數字字符串,它之後沒有多餘的空白字符。

我只能看到我的網頁上有空白字符集utf-8。但是我看不到的是,如果它是一個製表符,空格,eol,eof或類似的,所以我不知道如何過濾掉它。有沒有人有任何想法我如何擺脫在我的列在MySQL中的值的結尾額外的空白?

我已經嘗試了很多解決方案發布到類似的問題上她,但沒有工作。

我添加了一張圖片來顯示我的問題。

extra whitspace visible in the upper line.

有趣的是,在源代碼,不存在空白可見。所以如果我保存html,我不會看到空格,也不會看到 或類似的東西。

+1

如果修剪不工作,那麼字符可能是不實際的空白字符,而是一些其他的字符無法顯示。你可以在這裏發佈一個原始字符串的例子嗎? – Lix

+0

我如何發佈原始字符串?如果我進入phpmyadmin,即使在編輯模式下,字符串之後也不會顯示額外的字符。 – nuxxxx

+0

如果你檢查元素(例如用鉻devtools),你可能會看到一些額外的字符那裏... – Lix

回答

0

在我看來(從您的屏幕截圖),你有一些額外的CSS屬性的行上有「額外的空白」。看看你的CSS屬性,也許你設置了一個邊距,填充,文本縮進或其他一些可能會改變你的文本/內容的屬性。

0

我想到了兩個可能的額外空白的原因。

  1. 將尾隨空格字符插入到表格列中。

您可以驗證和解決這個問題(針對現有數據) 使用以下查詢:

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

如果這個工作,你應該有一個確認「n行更新」,其中n> 0

  1. 如果返回0行更新,則最有可能在輸出中添加空白。

檢查輸出HTML和樣式表

+0

謝謝你的迴應,但Lix已經給了我這個解決方案。 – nuxxxx