使数据库值的双引号正确显示

时间:2013-05-06 07:13:52

标签: html css sql-server-2008

我有一个数据库类型varchar(100),该值包含双引号"",例如:

  

TCA CREAM 65 ML FC 24%“A Z A M”

我使用的是sql server 2008。

当我在网页中调用此数据时 无法读取""

结果如下:

enter image description here

首先我认为不支持字体系列,但我尝试了许多不同的字体系列:

html body div.popup_window_css div.popup_window_css_body {
    border: 1px solid black;
    border-width: 0px 1px 0px 1px;
    padding: 6px 6px 0px 6px;
    background: #DBDBBA;
    width: 615px;
    font: 900 14px Trebuchet MS, Sans-Serif, Times New Roman;
    }

但它不起作用......

2 个答案:

答案 0 :(得分:2)

您必须转义HTML中的引号才能使其正常工作。

使用javascript转换这些引号,您有自己的价值:

var quoteString = myDbValue.replace('"', """);

或尝试以任何方式将"转换为&quot

来自你的评论:

success: function(data){ 
    $("#pname").replace('"', """); 
    $("#pname").html(data); 
}

必须改为:

success: function(data){ 
    escapedData = data.dbValue.replace('"', """); 
    $("#pname").html(escapedData);
}

当然,我不确定代码中的data代码是什么,但您应该在我的代码中选择正确的属性,即dbValue

答案 1 :(得分:1)

  1. ",',-,_,>,>种类的字符(full list)在HTML中调用特殊字符,因为其中一些字符可能用于HTML / CSS / JS等其他目的...所以浏览器不承诺你正确渲染这个字符。
  2. 这些字符中的一些可用于通过使用SQL注入方法来破解您的网站。
  3. 因此,最佳做法是在将此字符存储到数据库之前或在开始处理之前,您必须使用服务器端语言(php,c#)将此字符转换为HTML entity。通过此,您可以避免上述两个问题。你可以在上面给出的链接中找到HTML实体。