PHP(PDO)、jQuery MySQL和带撇号的拉取数据

PHP(PDO)、jQuery MySQL和带撇号的拉取数据,php,jquery,Php,Jquery,我想我的问题与我见过的大多数问题正好相反 插入带有撇号的数据并不麻烦。它可以拉/显示数据 摘要/概述: 我使用PDO将数据/记录插入MySQL数据库表。。 这会在数据库中放入特殊字符/撇号..等。当通过MyPHPAdmin查看数据时,如果适用,我会在单元格/列中看到撇号 我后来从表中取出记录。。并保存到数组中 迄今为止的代码示例: //declare PDO DB connection $table = 'target_table'; $conn=new PDO("mysql:host=loca

我想我的问题与我见过的大多数问题正好相反

插入带有撇号的数据并不麻烦。它可以拉/显示数据

摘要/概述:

我使用PDO将数据/记录插入MySQL数据库表。。 这会在数据库中放入特殊字符/撇号..等。当通过MyPHPAdmin查看数据时,如果适用,我会在单元格/列中看到撇号

我后来从表中取出记录。。并保存到数组中

迄今为止的代码示例:

//declare PDO DB connection
$table = 'target_table';
$conn=new PDO("mysql:host=localhost; dbname=test;","root","");

$query = "SELECT * FROM $table";
$tcstmt = $conn->prepare($query);
$tcstmt->execute();
$totalEntriesArray = array();
while($u = $tcstmt->fetch(PDO::FETCH_BOTH)){
    $totalEntriesArray[] = $u;
}
我填充了一个下拉框。。当用户做出选择时,我会使用一些js/jQuery来处理事件检测,从下拉框选择中获取值和数组中的目标索引,并填充页面上的一些字段

例如:

$("#dropdown").change(function(){
    $('#nameField input').val(totalEntriesArray[arrayIndex].target_name);
}
到目前为止和我在一起?哈哈

相当简单/直截了当…而且一切都很好,并且符合预期

但是,我注意到,如果数据库中的某些文本/数据在这些字段中显示撇号,则会显示臭名昭著的“黑钻石/问号”字符

所以这不是一种阻止SQL注入就能解决问题的情况,或者使用PDO就能解决问题,等等。这是相反的方向

我需要以某种方式解析/格式化数据,使其正确显示在文本字段中

实现这一目标的最佳方式是什么


谢谢。

grrr。。事情总是这样吗?你发。。并立即解决问题?哈哈

无论如何。。。努力为其他人提供此线程的一些解决方案

我切换了角色集:

<!-- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -->
to
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

现在它显示的很好

到底什么是愚蠢的步骤?有没有更好的方法来解决这个问题?更好的方法是找出你为什么有坏掉的UTF-8字符。以撇号命名的字符的代码点是什么更好的方法是编辑HTTP服务器的配置文件,将内容类型输出为utf-8。@RPM:我99%确定它与响应中的内容类型无关。在a中指定的内容类型的行为将与在http头中指定的内容类型完全相同。我确实没有阅读该问题,因此我的评论可能听起来像是对他的问题给出了答案。但是在服务器端设置内容类型比实现这样的元标记更容易。有些HTTP请求不是来自浏览器curl、wget,因此它们不解析HTML标记。