Php切换大小写不能回显中文字符


Php switch case cannot echo out Chinese characters

代码:

<!DOCTYPE html>
<html>
<head>
<title>Greeting Service!</title>
</head>
<body>
<center>
<form method="post" action="">
<h1>What's Your Name?</h1>
<input type="text" name="name" placeholder="Name Here" />
<h4>Greet me in:
<select name="language">
<option value="option1">English</option>
<option value="option2">Chinese</option>
<option value="option3">French</option>
</select>
</h4>
<input type="submit" value="Greet Me!" />
<?php
if (isset($_POST['language'])) {
$language = $_POST['language'];
switch ($_POST['language']) {
case "option1":
$result = "Hello, {$_POST['name']}!"; 
break;
case "option2":
$result = "你好, {$_POST['name']}!"; 
break;
case "option3":
$result = "Bonjour, {$_POST['name']}!"; 
break;
}
echo $result;
}
?>
</form>
</center>
</body>
</html>

这是代码。我不知道为什么当我选择中文选项来迎接在文本框中输入的名字时,它会随机显示带有点和分数的字母。我非常确定为什么会发生这种情况,因为当我选择要用法语或英语回显的名称时,它似乎很好。

这不是切换大小写的问题,而是字符集的问题。

Set header('Content-Type: text/html; charset=utf-8');