我有一个类似于下面的表格。
<form action="" method="POST">
<input type="text" name="header" />
<textarea id="ck_editor" name="content"></textarea>
</form>
发送表单时,我将
Ğ, Ş, Ü
等特殊字符替换为相应的 html 实体。然后使用 PHP/MySQLI 将编辑后的字符串插入数据库。 content
插入没有任何问题。但是到了header
,就在特殊字符位置之后被切掉了。
当我想插入时
土耳其卡拉克特
它像
一样插入到表格中T
我回显
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 = 内容) (baslik = 标题)
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;
}
}
...
}
我认为你需要使用 utf8_turkish_ci