1

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

TCA CREAM 65 ML FC 24% “AZAM”</p>

我使用 sql server 2008。

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

结果如下所示:

在此处输入图像描述

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

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;
    }

但它不起作用...

4

2 回答 2

2

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

使用 javascript 转换这些报价,你有你的价值:

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

或者试着把任何"变成&quot你喜欢的任何方式。

从您的评论中:

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

必须改为:

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

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

于 2013-05-06T07:20:55.853 回答
1
  1. ",',-,_,>,>某种字符(完整列表)在 HTML 中调用特殊字符,因为其中一些可能用于 HTML/CSS/JS 等中的其他用途......所以浏览器不承诺您正确呈现这些字符。
  2. 其中一些字符可以通过使用 SQL 注入方法来破坏您的网站。

因此,最佳做法是在将此字符存储到数据库之前或开始处理之前,您必须将此字符转换为它们HTML entity使用的服务器端语言(php、c#)。这样,您可以避免以上两个问题。您可以在我上面给出的链接中找到 HTML 实体。

于 2013-05-06T07:36:57.233 回答