我有这样的表格:
<form method="post" enctype="multipart/form-data" accept-charset="UTF-8">
但是当我提交é字符时,它会变成é。
为什么这不起作用?是的,MySQL数据库正确设置了所有字符集。 (数据库,表格。)如果我用Navicat手动将它放在数据库中,它会在网页上显示正常。
另外,我尝试了metatag,设置内容类型标题,但没有成功。
答案 0 :(得分:8)
在您的HTML中,添加以下元标记:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
还要在脚本顶部添加此PHP标头:
header("Content-Type: text/html;charset=UTF-8");
<强> [编辑]:强>
还有一个提示是将文件保存为UTF-8 without BOM
编码。您可以使用Notepad++或任何体面的编辑器来执行此操作。
答案 1 :(得分:1)
确保已将连接排序规则设置为utf8
:
SET NAMES utf8
答案 2 :(得分:1)
遇到了与上述完全相同的问题,尝试了所有提到的问题。
尝试删除
enctype="multipart/form-data"
并添加
accept-charset="utf-8"
从标签。这就是我的解决方案。
答案 3 :(得分:0)
答案 4 :(得分:0)
仅以形式添加accept-charset =“ character_set”。就是所有!
accept-charset="character_set"