Php 菲律宾元';t str_替换数据库中的单引号
这解释起来真的很奇怪,所以就这样 我正在从phpmyadmin获取数据,其中包含未替换的单引号。我正在尝试将Php 菲律宾元';t str_替换数据库中的单引号,php,mysql,ascii,content-type,Php,Mysql,Ascii,Content Type,这解释起来真的很奇怪,所以就这样 我正在从phpmyadmin获取数据,其中包含未替换的单引号。我正在尝试将'转换为&apos使用内容类型:text/html 在数据库的一列中,这是值:今年的…。 我将内容类型设置为 我用mysql\u fetch\u assoc()获取了数据,所以今年它应该会输出apos;s。但是,今年它输出了�s、 .. 然后,我从数据库中手动删除了今年的…,并将其替换为今年的…(直接在数据库中)。我再次将内容类型设置为text/html,得到如下结果: This year
'
转换为&apos代码>使用内容类型:text/html
在数据库的一列中,这是值:今年的…。
我将内容类型设置为
我用mysql\u fetch\u assoc()
获取了数据,所以今年它应该会输出apos;s
。但是,今年它输出了�s、 ..
然后,我从数据库中手动删除了今年的…
,并将其替换为今年的…
(直接在数据库中)。我再次将内容类型设置为text/html
,得到如下结果:
This year's...
就这样。。。这几乎无法解释。单个报价通过表单提交到数据库。我获取它并将内容类型设置为text/html,它将'
输出为�代码>。如果我进入数据库,手动删除”
,并将其替换为相同的”
,然后输出&apos代码>
<?php
header('Content-Type: text/html; charset=UTF-8');
include('init.inc.php');
function get_feeds() {
$query = mysql_query("SELECT * FROM test ORDER BY id DESC LIMIT 1");
while($fetch = mysql_fetch_assoc($query)) {
$text = $fetch['text'];
echo $text;
}
}
?>
<?php get_feeds(); ?>
有没有人经历过这种奇怪的怪癖或认识到它可能是什么
更新:
数据库中的值是今年的
,它是通过表单上传的。该报价在数据库中不显示。下面是我获取数据的方法。我希望将”
转换为&apos代码>
<?php
header('Content-Type: text/html; charset=UTF-8');
include('init.inc.php');
function get_feeds() {
$query = mysql_query("SELECT * FROM test ORDER BY id DESC LIMIT 1");
while($fetch = mysql_fetch_assoc($query)) {
$text = $fetch['text'];
echo $text;
}
}
?>
<?php get_feeds(); ?>
它今年输出�s
然后,我从数据库中删除今年的
,并手动将今年的
写入它的位置。它今年输出此&apos;在插入数据库之前,将特殊字符转换为HTML实体
htmlspecialchars("This year's");
如果我添加了一些代码,共享代码会更好。这段代码很容易解释。数据库中的单引号都是不可替换的,并通过表单上传。use$text=html\u entity\u decode($fetch['text'])代码>你真的完全使用utf8吗?在连接到数据库后是否发送了这样的查询:“SET NAMES utf8”?有时数据未正确存储为utf8。Steven,它已设置为utf8@阿米尔,我试过了,但没有改变。我想我必须改变数据插入数据库的方式。我只是使用mysql\u real\u escape\u字符串,但会添加addslashes。