0

現在、サイトに html と php を使用していますが、テキストエリアに保存するときにこの問題が発生します。

' や " などの特殊文字を含む別のフォントを使用するたびに、â�� (内部に疑問符が入った黒いひし形) のように保存されます。これは通常、他のサイトからテキストをコピーしたとき、またはテキスト ドキュメントをコピーして貼り付けたときに発生します。しかし、テキストエリアに入力するとうまくいきます。

サンプル:

ノーと答えないでください。

これが私の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

このテキストの一部をMicrosoftWordからコピーしていますか?デフォルトでは、Wordは通常の「ストレート」引用符を「カーリー」引用符に変更します。この機能をオフにする方法があります。あなたが持っているテキストを修正するために、あなたは検索/置換をしなければならないかもしれません。

于 2012-11-13T01:43:37.337 に答える