0

我目前正在为我的网站使用 html 和 php,但是在保存在 textarea 时遇到了这个问题。

每次我使用具有特殊字符(如 ' 和 " )的不同字体时,它都会保存为 â��(内部带有问号的黑色菱形)。这通常发生在我从其他站点复制文本或复制文本文档然后粘贴时但是当我输入 textarea 时它工作正常。

样本:

不要接受否定的答案,是关心自己的人

这是我的html代码

    <form action="savepost.php" method="POST">
    <fieldset style="width:600px; height:580px">
    <br><strong>Title</strong> <input id="posttitle" name="posttitle" type="text">
    <br><br><strong>Content</strong>
    <br><textarea id="postform" name="postform" style="width:600px; height:450px; resize: none"></textarea>
    <br><input type="submit" value="Post" id="postbutton"/>
    </fieldset>
    </form>

mysql插入

    $title = strtolower(mysql_real_escape_string($_POST['posttitle']));
    $post_title = preg_replace('/[^a-zA-Z0-9\s]/','', $title);
    $timestamp=time(); 
    $post = $_POST['postform'];

    $newtitle= preg_replace('/\\s+/', ' ',$post_title);
    $striptitle = trim($newtitle, ' ');
    $url = strtolower($timestamp.'/'.str_replace(" ", "-", $striptitle));

    mysql_query("INSERT INTO blog (title, url, timestamp, post) VALUES ('$title', '$url', '$timestamp', '$post')");

这里可能是什么问题?

4

2 回答 2

1

这是一个字符编码问题 - 如果您从桌面程序 (MS Word) 复制内容,那么 Word 会放入斜引号而不是直引号,但如果 HTML 页面的编码不正确以显示该字符,它将显示如上。

尝试在您的页面标题中查找

<meta charset="utf-8" />

或类似的东西

如果不是utf-8或丢失,请尝试更改它,看看会发生什么。

于 2012-11-13T01:42:39.227 回答
0

您是从 Microsoft Word 中复制其中的一些文本吗?默认情况下,Word 会将您的常规“直”引号更改为“弯”引号。有一种方法可以关闭此功能。要修复您拥有的文本,您可能需要进行查找/替换。

于 2012-11-13T01:43:37.337 回答