在数据库中存储数据时是否需要使用HTML实体?

Viv*_*ela 6 php mysql character-encoding

我需要将特殊字符和符号存储到mysql数据库中.所以要么我可以将它存储为'ü'或将其转换为html代码,例如'ü'

我不确定哪个更好.

我也有像'♥','''这样的符号.

请建议哪一个更好?还建议是否有任何替代方法.

谢谢.

Bra*_*rad 5

将数据原始保留在数据库中.在您需要HTML实体之前,请不要使用HTML实体.您永远不知道何时可能希望在其他地方使用您的数据,而不是在网页上.


hak*_*kre 5

多年前引入了HTML实体,以便在传输不是二进制安全的情况下通过线路传输字符信息,以及用户代理(浏览器)不支持传输层或服务器的字符集编码的情况.

作为一个HTML实体仅包含最基本的字符(&,;,a-z0-9)和这些字符在大多数字符集相同的二进制编码,这是和来自那些副作用非常安全.

但是,当您在数据库中存储某些内容时,您不会遇到这些问题,因为您通常处于控制状态,并且您知道将文本存储到数据库中的方式和方式.

例如,如果对数据库中的文本允许使用Unicode,则可以存储所有字符,实际上没有任何字符是特殊的.请注意,您需要在此处了解您的数据库,您可以遇到一些技术细节.就像您不知道数据库连接的字符集编码一样,因此您无法准确地告诉您的数据库要存储哪些文本.但通常,您只需存储文本并在以后检索它.没什么特别的处理.

实际上,当您使用HTML实体而不是普通字符时,存在缺点:

  • HTML实体占用更多空间:üüLATIN-1,UTF-8,UTF-16或UTF-32 大得多.
  • HTML实体需要进一步处理.需要创建它们,并且在读取时,需要对它们进行解析.想象一下,您需要在数据库中搜索特定文本,否则任何其他操作都需要额外处理.那只是开销.

当你混合这两个概念时,真正的乐趣就开始了 你来到一个你真的不想进入的地方.所以不要这样做因为你不需要它.