繁体   English   中英

在MySQL数据库中存储&(Ampersand)的最佳方法

[英]The best way to store &(Ampersand) in MySQL database

我正在构建一个类别列表,我不确定如何在AMP数据库中存储Ampersand符号。 如果我使用'&'是否有任何问题/劣势。 在html格式'&amp'使用它有什么不同吗?

使用'&'可以节省几个字节。 它不是MySQL的特殊字符 您可以轻松制作& 稍后使用PHP的方法htmlspecialchars() 当您的字段用于保存简单信息时,您应该仅使用纯文本,因为这通常更灵活,因为您可以在以后生成不同类型的标记等。 例外:标记由用户生成,其布局决策要与文本一起保存(如在富文本输入中)。 如果您的输入中有标签等,则可能需要使用& 为了一致性。

你应该把它存储为&amp; 仅当数据库中的字段包含HTML(例如<span class="bold">some text</span> &amp; more )时。 在这种情况下,您应该非常小心XSS

如果该字段包含一些常规数据(如用户名,标题等),则只应在将其放入HTML中时将其转义(例如,使用htmlentities )。

将其存储为&amp; 是一种合适的方法。 您可以回复它或在语句中使用它作为&amp;

我们一直将'&'存储到数据库字段中,这样做很好(至少我从未听过其他的论点)。

如果您只是在HTML页面中使用该字符串,则只需存储HTML安全&amp; 我猜想的版本。 我建议存储'&'并在读取它时转义它会更好(如果你将来需要在非HTML上下文中使用该字符串)。

使用&amp; 如果您想拥有有效的HTML或避免出现问题,例如cut&copy (浏览器将其显示cut© )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM