插入包含html实体的字符串时,会删除字符串

时间:2014-08-03 11:45:58

标签: php mysql mysqli

我有一张类似下面的表格。

   <form action="" method="POST">
     <input type="text" name="header" />
     <textarea id="ck_editor" name="content"></textarea>
   </form>

发送表单时,我将Ğ, Ş, Ü之类的特殊字符替换为相应的html实体。然后使用PHP / MySQLI将编辑后的字符串插入数据库。插入content没有任何问题。但是当谈到header时,它会在特殊角色的位置后被切断。

当我想插入

  

TürkçeKarakter

它插入表格

  

Ť

我回答header, content变量 - 没有任何问题 - 来通知插入过程是否是成功的。 MySQL表

icerik_id INT(11) AUTO_INCREMENT PRIMARY
icerik_baslik VARCHAR(255) 
icerik_icerik TEXT
icerik_durum INT(11) DEFAULT = '1'
collation utf8_unicode_ci

我该如何解决这个问题?

PHP代码//(icerik = content)(baslik = header)

 if ($_POST) {

    ... 

    if ($ekle == true) {
            // Girdileri Düzenle
            // HTML Entity
            $baslik = htmlentities($baslik, ENT_COMPAT, "UTF-8");
            $icerik= htmlentities($icerik, ENT_COMPAT, "UTF-8");


            $ekle_db = $db->query("INSERT INTO icerikler SET
                icerik_baslik = '$baslik',
                icerik_icerik = '$icerik'
            ");

            if ($ekle_db) {
                $ekle_msg[] = "<span style='color: rgba(140,200,30,1)'>İçerik Başarıyla Eklendi:</span> $baslik";
                $ekle = true;
            } else {
                $ekle_msg[] = "<span style='color: red'>İçerik Eklenenemdi.</span>";
                $ekle = false;
            }
        }

        ...
     }

0 个答案:

没有答案