Php umlauts将不会保存在mysql中

Php umlauts将不会保存在mysql中,php,mysql,Php,Mysql,我将把umlauts保存在mysql数据库中,这样我就有了一个文本区域,它将与表单一起保存。如果我不使用任何umlaut,它将正确保存,但如果我使用其中一个umlaut,它将在umlaut开始的位置停止保存,并切断其余文本 所以我知道utf-8,我的mysql连接中有一个 mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); 但是我能做些什么来正确地保存它呢 我使用mysql\u real\u esc

我将把umlauts保存在mysql数据库中,这样我就有了一个文本区域,它将与表单一起保存。如果我不使用任何umlaut,它将正确保存,但如果我使用其中一个umlaut,它将在umlaut开始的位置停止保存,并切断其余文本

所以我知道utf-8,我的mysql连接中有一个

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
但是我能做些什么来正确地保存它呢


我使用mysql\u real\u escape\u字符串和htmlspecialchars来保存,但是否有什么东西需要转换或任何类型?

mysql能够存储这些字符,因此您不需要htmlspecialchars来将其存储在我的mysql数据库中。一旦您检索到它并想要打印它,您可能想要使用htmlspecialchars,但它并不总是必需的。删除htmlspecialchars后会出现什么行为?

列/数据库的排序规则是什么?显示有关表的信息,包括排序规则。是否确实未正确保存?我曾经也这么想,但结果是PhpMyAdmin没有正确显示数据库内容。SHOW TABLE STATUS向我显示一些信息,但没有显示排序规则?或者需要哪些信息?确定字符集设置不正确..我也尝试了不使用htmlspecialchars,但结果相同您是否尝试“手动”将其插入MySQL数据库?如中所述,不使用变量输入,而只是执行一个查询,例如
插入到一些_表(一些_字段)值('Testingümlaut')
?快速思考一下,您确定您的MySQL表设置正确,因此它接受这些字符吗?我模模糊糊地记得一个问题,如果你把排序规则设置错了,它也不会起作用,不过我不确定。检查字符集和排序规则是否都设置为utf8