我正在尝试让我的注册脚本只接受字母和æøå,但到目前为止我没有尝试过任何工作。它仍然不接受æøå。
这是我目前的代码
if ($_POST['first'] != "" && preg_match("%^[-a-zA-Z æøå\/]+$%", $_POST['first']) == true && strlen($_POST['first']) > 0) {
$input_first = mysqli_real_escape_string($con,$_POST['first']); }
else { header("Location: ../register.php?n=2"); exit; die(); }
我做错了什么?
答案 0 :(得分:0)
如果您的PHP文件已经是UTF-8编码,您应该告诉您的数据库,您需要UTF-8。而不是摆弄MySQL的配置,只需告诉您的连接对象,您期望的字符集,数据库将为您完成其余的工作。
这是mysqli连接对象的示例:
//Test-ak
$db = new mysqli($dbHost, $dbUser, $dbPw, $dbName);
$db->set_charset("utf8");
之后您的查询将返回UTF-8编码结果。