簡體   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