【问题标题】:Everytime I use content:"\005B" it becomes content:"�05B"每次我使用 content:"\005B" 时,它都会变成 content:"�05B"
【发布时间】:2012-11-01 06:37:54
【问题描述】:

我有一个存储在 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; }

每次我将它保存到数据库中(通过网络应用程序),它都会变成这个

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

每行包含\0 都会发生这种情况。比如\005D\00D0等,改成�05D�0D0等。

如果我使用 phpmyadmin 进行编辑,那很好。但是如果我用网络应用程序编辑,那就麻烦了。

请帮忙?非常感谢。

【问题讨论】:

  • CSS.PHP? :O,这行得通吗?
  • 如何将文本插入数据库?
  • @Mr.Alien 是的,它可以工作,非常规,但如果你打开例如 mywebsite.com/css.php?d=1_1.css 它会显示 CSS
  • @deceze 有一个管理面板可以将文本插入数据库,类似于 i.imgur.com/8ZrST.png

标签: php mysql css


【解决方案1】:

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)

【讨论】:

  • 所以每次我更新 CSS 时我都要把它写成 \\005B 而不是 \005B?
  • 谢谢伙计,虽然有点烦人,因为每次我更新 CSS 我都必须将它重写为\\005B(第一个斜杠总是在我更新后消失,所以它又变成了\005B
  • 您不需要手动进行,您需要在代码中正确准备 SQL 查询。
猜你喜欢
  • 2016-01-04
  • 1970-01-01
  • 2023-01-20
  • 1970-01-01
  • 2020-12-17
  • 2015-03-26
  • 2012-12-15
  • 2014-08-23
  • 2023-01-29
相关资源
最近更新 更多