1

mySQLデータベースに保存されているCSSテキストがあります。

ibf_cssテーブル、css_text列に保存されます。css_text照合はlatin1_swedish_ciです。

これが、私が使用しているWebアプリケーションの動作方法です。CSSはデータベースに保存され、css.phpでロードされます。Wordpressのような通常のstyle.cssではありません。

私のCSSにこれがあります

#userlinks > span:before { content:"\005B";margin-right:4px; }

(Webアプリケーションを介して)データベースに保存するたびに、これに変更されました

#userlinks > span:before { content:"�05B";margin-right:4px; }

これは、を含むすべての行で発生します\0。、、などのよう\005Dに。 、、\00D0などに変更されました。�05D�0D0

phpmyadminで編集すれば、問題ありません。しかし、Webアプリケーションで編集すると、問題が発生します。

助けてください?とても有難い。

4

1 に答える 1

4

INSERT INTO foo ('bar') VALUES ('\0')NULバイトを挿入することを意味します。これを再度クエリすると、の代わりに実際の0x00バイトが返されます\0。データベースに挿入するデータをSQLエスケープする必要があります。このような場合だけでなく、常に

The Great Escapism(または:テキスト内のテキストを操作するために知っておくべきこと)をお読みください。

于 2012-11-01T06:44:12.143 に答える