每次我使用内容:" \ 005B"它变得满足:" 05B"

时间:2012-11-01 06:37:55

标签: php mysql css

我有一个CSS文本存储在mySQL数据库中。

它存储在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应用程序进行编辑,则会遇到麻烦。

请帮忙吗?非常感谢。

1 个答案:

答案 0 :(得分:4)

INSERT INTO foo ('bar') VALUES ('\0')表示您要插入 NUL字节。再次查询时,您将获得实际的0x00字节,而不是\0。您需要 SQL转义您插入数据库的任何数据。不仅仅是这样的情况,而是总是

请阅读The Great Escapism (Or: What You Need To Know To Work With Text Within Text)