Php switch case не может отображать китайские иероглифы

Код:

<!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>

Это код. Я не уверен, почему, когда я выбираю китайский вариант, чтобы приветствовать имя, напечатанное в текстовом поле, оно отображает случайные буквы с точками и дробями. Я точно уверен, почему это происходит, потому что, когда я выбираю имя, отображаемое на французском или английском языке, кажется, все в порядке.

0

Решение

Это не проблема переключения, это набор символов.

Задавать header('Content-Type: text/html; charset=utf-8');

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]