私はMySQLテーブルのフィールドに文字列を持っています。MySQL:フィールド内の空白文字は、実際には空白ではありません。それは何ですか?
これはVARCHARです。テーブルのエンコードはutf8です。
フィールドの内容は、私がselect * from table where content like '%one two%';
を実行すると、行が返されone two three
です。
しかし、update table set content = REPLACE(content, " ", "+;;");
を実行すると、結果はone two+;;three
になります。
その最初の「空白」文字は何ですか?
私はRuby on Railsアプリケーションでこのテーブルを使用しています。 Rubyはそれを空白文字としても認識しません。 (たとえば、文字列を ""に分割した場合、最初のスペースで分割されません)
何が起こっているのでしょうか?
ありがとうございました。
Railsコンソールのデータベースからその文字列を引き出し、 'your_string.bytes'を見てください。 –
"bad"スペースをbytes.to_aに変換するのは[194、160]です。 「良い」スペースは[32] – johnnycakes
です。これは、Arjanが話している0xC2 0xA0です。 –