我使用此代码在我的php数据库中插入文本:
<p>
<textarea id="uploader" style="
width:860px;
height:80px;
font-size:16px;
font-weight:300;
outline:none;
border:none;
border-bottom:solid 1px #EDEDED;
padding:20px"
type="text"
name="paragraph_two"
placeholder="Paste the text here"></textarea>
</p>
以下是PHP上传器:
if (!empty($_POST['paragraph_two'])) {
$paragraph_two = addslashes($_POST['paragraph_two']);
}
$sql = "INSERT INTO news (paragraph_two)
VALUES ('$paragraph_two')";
if (mysqli_query($conn, $sql)) {
header('Location:../index.php?done');
} else {
header('Location:../index.php?error');
}
以下是我输出文字的方式:
$paragraph_two = stripslashes(utf8_decode(nl2br($donnees['paragraph_two'])));
echo $paragraph_two;
问题是,当我从textarea中的其他网站粘贴文本并将其上传到我的数据库时,输出的文本编码不好。单引号和双引号被&#34; ??&#34;等替换。当我自己在文本区写文本时,它就像一个魅力。
我的数据库设置为latin_swedish_ci
。
我尝试在上传之前用UTF8对文字进行编码,但它不起作用。我已经在这个问题上调查了一个星期,我没有找到任何解决方案。有人可以解释一下会发生什么吗?