0

mysqlテーブルに列があり、最後に余分な空白があります。私はすでにmysql内でREPLACEとTRIMを実行しようとしましたが$output = preg_replace("/\s+/", " ", $input);、余分な空白や文字列の最後にあるものは何も削除されていないようです。

列はvarchar(255)照合utf8_general_ciです。これには、フライト番号を表す英数字の文字列が含まれています(例:LH2214)。同じ照合であり、同じ英数字の文字列を持つvarchar(255)である別の列がありますが、その後に余分な空白はありません。

文字セットutf-8が含まれているWebページに空白しか表示されません。しかし、私が見ることができないのは、それがタブスペース、空白、eol、eofなどである場合、それをフィルターで除外する方法がわかりません。mysqlの列の値の最後にある余分な空白を削除するにはどうすればよいですか?

私はすでにSOで彼女と同様の質問に投稿された多くの解決策を試しましたが、どれもうまくいきませんでした。

問題を示す画像を追加しました。

上の行に余分な聖霊降臨祭が表示されます。

面白いのは、ソースコードに空白が表示されていないことです。したがって、htmlを保存すると、空白 や類似のものは表示されません。

4

2 に答える 2

0

(スクリーンショットから)私には、「追加の空白」がある行にいくつかの追加のCSSプロパティがあるように見えます。cssプロパティを見てください。おそらく、マージン、パディング、テキストインデント、またはテキスト/コンテンツをシフトするその他のプロパティを設定します。

于 2012-11-11T12:03:38.327 に答える
0

追加の空白の2つの考えられる理由が頭に浮かびます。

  1. 末尾の空白文字はテーブル列に挿入されます。

次のクエリを使用して、これを確認および修正できます(既存のデータの場合)。

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

これが機能した場合は、「n行が更新された」という確認が必要です。

  1. これで0行が更新された場合は、出力に空白が追加されている可能性があります。

出力HTMLとスタイルシートを確認してください

于 2012-11-11T20:44:10.877 に答える