我有一些表单,它们将一些数据插入到MySQL数据库中,并且由于某种原因,字符会被双utf-8编码。你不会在我的网站前端看到它,但在后端你会看到,如果我看一下phpmyadmin的数据,它是双重编码的。
此外,要显示从phpmyadmin输入的数据,我必须对其进行utf8_encode。我有在php.ini中可以找到的所有设置为utf-8,在phpmyadmin to utf8中可以找到的所有东西,h
在MySQL/MariaDB中,我将连接字符集设置为UTF-8:SET CHARACTER SET 'utf8mb4';
其中有些表具有latin1_swedish_ci当我将集合名称、字符集合并到程序启动代码中时,我假设可以将插入字符串中的UTF-8编码数据提供给MySQL服务器,它将根据表/列排序规则对其进行转换。这一假设来自于我在本地用MariaDB进行的测试,它就是在这里工作<
当表单提交时,来自文本区域的信息将保存到我的数据库中。有一种情况是,字段中显示了下列字符。• Text�?� Text
我猜这和字符编码有关。将这个标记<meta charset="UTF-8">添加到我的页面顶部会修复它吗?或者,在将值保存到数据库之前,是否可以对文本区域进行清理?这不是我自己知道如何复制的东西,我只是在监视数据库时看到了它。任何有关这一主题的信息或启示都将不胜感激