我不知道如何在会话中正确设置charset - 波兰语,我有类似usuniÄ ty的内容。提前感谢您的帮助
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<?php echo message(); ?>
</body>
</html>
file - delete.php
$_SESSION["message"] = "Ten produkt został usunięty.";
redirect_to("list_photos_45.php");
会话
<?php
session_start();
header('Content-Type: text/html; charset=utf-8');
function message() {
if (isset($_SESSION["message"])) {
$output = "<div class=\"message\">";
$output .= htmlentities($_SESSION["message"]);
$output .= "</div>";
// clear message after use
$_SESSION["message"] = null;
return $output;
}
}
function errors() {
if (isset($_SESSION["errors"])) {
$errors = $_SESSION["errors"];
// clear message after use
$_SESSION["errors"] = null;
return $errors;
}
}
?>
答案 0 :(得分:1)
请勿在不提供编码(第三个参数)的情况下对邮件使用htmlentities()
。这在PHP中默认为ISO-8859-1&lt; 5.4,并将多字节charachter的每个字节转换为它的加工实体,破坏原始字符。
最好只使用htmlspecialchars()
代替。您已经在使用UTF-8,现在您只需要转义HTML中具有特殊含义的字符以防止XSS攻击。
答案 1 :(得分:0)
在编辑器中,确保将页面保存为UTF-8而不使用BOM(字节顺序标记)。现在你的页面被编码为ANSI,浏览器将它们读作UTF-8,这就是为什么你有不好的字符。
编辑:你不必使用htmlentities。
答案 2 :(得分:0)
尝试
$con = mysqli_connect($servername, $username, $password, $dbname);
$con->set_charset("utf8");
和说明文件 mysqli_set_charset