为什么htmlentities会返回一个空字符串:
<?php
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Index</title>
<link rel="stylesheet" type="text/css" href="../stijlen.css" />
<meta charset="UTF-8">
<style>
@charset "UTF-8"
</style>
</head>
<body>
<h2>Main index</h2>
<?php
echo(htmlentities("José", ENT_NOQUOTES, "UTF-8"));
?>
</body>
</html>
如果我省略了函数的“UTF-8”部分,它可以正常工作。 “é”会产生问题,但我不明白为什么。为什么这是一个无效的角色?
答案 0 :(得分:4)
您的源文件不是UTF8。 php documentation for htmlentities()
表示:
如果输入字符串在给定编码中包含无效的代码单元序列,则将返回空字符串,除非设置了ENT_IGNORE或ENT_SUBSTITUTE标志。