当尝试将它们放入mysql时,所有外来字符(如变音符号(ü))都会被删除。
在调试此问题时,我已经讨论了以下内容:
我的数据库是UTF-8
有问题的表格是InnoDB utf8_general_ci。行是长篇文本utf8_general_ci
我在mysqli_set_charset($mysqli, "utf8");
$mysqli = new mysqli($hostname, $username, $password, $database);
使用以下php:
$stmt = $mysqli->prepare("
UPDATE post
SET post = ?,
title = ?
WHERE id = ?
");
$stmt->bind_param("ssi", $clean_html, $titlePost, $id);
在db中更新之前的字符串是
<p>SOME NEW TEXT</p><p> </p><p>üü</p>
但仍然没有。变音符号消失了。在DB中它显示为
<p>SOME NEW TEXT</p><p></p><p></p>
我应该采取哪些其他调试步骤?谢谢
答案 0 :(得分:0)
尝试utf8_encode()和utf8_decode()也许它可以提供帮助。在将值设置为数据库之前尝试 $ value = utf8_encode($ value);