我想获取一个字符串并将其存储在MYSQL数据库中。该字符串将是一个HTML字符串,它可以具有任何字符编码或以任何语言编写。
如何在不影响HTML字符串的情况下将其安全地保存在我的MYSQL数据库中,以便以后可以按原样检索它?
此外,它将存储的字段的数据类型为text
,其归类为latin1_swedish_ci
会影响它吗?
我目前正在这样做:
htmlentities($html, ENT_QUOTES, 'UTF-8')
但我不认为上述内容适用于所有字符集。我的意思是德国人或日本人如何受到影响?
感谢您的帮助。
答案 0 :(得分:2)
为什么base64不对它进行编码存储,然后在?
之后对其进行解码答案 1 :(得分:0)
您可以将其存储在BLOB字段中,MySQL永远不会尝试转换它。但这意味着您已经记住了保存字符串时使用的编码。
另一种选择是将字符串编码为base64。
答案 2 :(得分:0)
我不认为整理不会对值的存储产生影响。它只会影响比较(WHERE)和排序(ORDER BY)等行为。
恕我直言,确保您的数据不变的最安全的方法是将值存储为二进制。 Base64也可以。在任何一种情况下,您都必须在读取它时知道字符编码。
答案 3 :(得分:0)
有趣的是每个人都建议使用base64,我从没想过这样做。我知道我使用的很多CMS数据库只使用utf-8字符编码。这将支持您的德国和日本人物。 HTML不应该受到影响,只要HTML字符集也是utf-8,它就会在浏览器中呈现 字符集= UTF-8