【问题标题】:Storing ampersand in database在数据库中存储与号
【发布时间】:2011-04-02 12:34:16
【问题描述】:

我目前正在使用 sql 2008 数据库。 许多条目都存储了“艺术与文化” 我们应该将转义版本存储在数据库中吗? 任何想法都非常感谢。

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    一般而言,数据库中的所有内容都应尽可能接近原始版本存储。如果您必须进行任何转义,请在数据库之外进行。

    这样做的原因很简单:只有在 Web 中您必须避开 & 符号。如果您的数据库有时会有一个非 Web 前端,则必须将这些转义序列转换回原始值,这并不总是可能的:例如,如果用户输入 &(原文如此),重新转换后,这将被翻译回&,这将失去原来的含义。

    【讨论】:

    • 谢谢,我猜无论是谁设置的都是从 web ui 保存的,这就是为什么到处都有这些转义字符的原因。我想我需要进行搜索和替换。
    【解决方案2】:

    SQL Server 可以很好地将Arts & Culture 存储到 VARCHAR(x) 或 NVARCHAR(x)(Unicode 变体 - 每个字符 2 个字节)字段中。

    从数据库的角度来看,绝对没有必要或没有必要转义任何东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-20
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      • 2015-12-31
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多