Php 外来字符,如ü;Don';我去不了Mysql

Php 外来字符,如ü;Don';我去不了Mysql,php,mysql,mysqli,Php,Mysql,Mysqli,所有外来字符,如umlauts(ü),在尝试将它们放入mysql时都会被删除 在调试此问题时,我已检查了以下内容: 我的数据库是UTF-8 该表为InnoDB utf8\u general\u ci。行是长文本utf8\u常规\u ci 我添加了mysqli\u set\u字符集($mysqli,“utf8”)紧接着$mysqli=newmysqli($hostname、$username、$password、$database) 它使用以下php: $stmt = $mysqli-&g

所有外来字符,如umlauts(ü),在尝试将它们放入mysql时都会被删除

在调试此问题时,我已检查了以下内容:

我的数据库是UTF-8

该表为InnoDB utf8\u general\u ci。行是长文本utf8\u常规\u ci

我添加了
mysqli\u set\u字符集($mysqli,“utf8”)
紧接着
$mysqli=newmysqli($hostname、$username、$password、$database)

它使用以下php:

    $stmt = $mysqli->prepare("
    UPDATE post
    SET post = ?,
    title = ?
    WHERE id = ?
    ");
    $stmt->bind_param("ssi", $clean_html, $titlePost, $id);
在数据库中更新之前的字符串是

<p>SOME NEW TEXT</p><p> </p><p>üü</p>
一些新的文本

但还是什么都没有。乌姆劳特消失了。在数据库中,它显示为

<p>SOME NEW TEXT</p><p></p><p></p>
一些新文本

我还应该采取哪些其他调试步骤?谢谢

试试utf8_encode()和utf8_decode(),也许会有帮助。在将值设置为数据库之前,请重试
$value=utf8\u编码($value)

执行查询
设置名称“utf8”在连接之后,在任何其他SQL查询之前。我知道,它就在下一行。@Mihai那么你是说我应该只使用UTF8而不使用常规的\u ci?@NoodleHead使用UTF8\u瑞典的\u ci排序规则